summaryrefslogtreecommitdiffstats
path: root/source/ap
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap')
-rw-r--r--source/ap/FTBFSlog29
-rw-r--r--source/ap/a2ps/a2ps-4.14-texinfo-nodes.patch128
-rw-r--r--source/ap/a2ps/a2ps-texi-comments.patch17
-rwxr-xr-xsource/ap/a2ps/a2ps.SlackBuild12
-rw-r--r--source/ap/a2ps/a2ps.texinfo-6.7.patch40
-rw-r--r--source/ap/alsa-utils/alsa-utils.url1
-rwxr-xr-xsource/ap/at/at.SlackBuild2
-rwxr-xr-xsource/ap/cdrdao/cdrdao.SlackBuild8
-rw-r--r--source/ap/cdrdao/cdrdao.url1
-rw-r--r--source/ap/cdrtools/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch511
-rwxr-xr-xsource/ap/cdrtools/cdrtools.SlackBuild24
-rwxr-xr-xsource/ap/cups-browsed/cups-browsed.SlackBuild153
-rw-r--r--source/ap/cups-browsed/cups-browsed.url1
-rw-r--r--source/ap/cups-browsed/doinst.sh (renamed from source/ap/cups-filters/doinst.sh)0
-rw-r--r--source/ap/cups-browsed/slack-desc19
-rwxr-xr-xsource/ap/cups-filters/cups-filters.SlackBuild41
-rw-r--r--source/ap/cups-filters/cups-filters.url2
-rw-r--r--source/ap/cups-filters/slack-desc2
-rwxr-xr-xsource/ap/cups/cups.SlackBuild30
-rw-r--r--source/ap/cups/cups.url2
-rwxr-xr-xsource/ap/dash/dash.SlackBuild2
-rwxr-xr-xsource/ap/dc3dd/dc3dd.SlackBuild10
-rw-r--r--source/ap/dc3dd/dc3dd.glibc228.diff57
-rw-r--r--source/ap/dc3dd/slack-desc2
-rwxr-xr-xsource/ap/ddrescue/ddrescue.SlackBuild2
-rwxr-xr-xsource/ap/diffstat/diffstat.SlackBuild2
-rw-r--r--source/ap/diffstat/diffstat.url2
-rwxr-xr-xsource/ap/dmidecode/dmidecode.SlackBuild2
-rwxr-xr-xsource/ap/flac/flac.SlackBuild15
-rw-r--r--source/ap/flac/flac.man.diff12
-rwxr-xr-xsource/ap/ghostscript/dump.unused.internal.libraries.from.sources.sh12
-rwxr-xr-xsource/ap/ghostscript/ghostscript.SlackBuild8
-rw-r--r--source/ap/ghostscript/ghostscript.url1
-rw-r--r--source/ap/groff/0006-Revert-upstream-change-of-mapping-special-characters.patch76
-rwxr-xr-xsource/ap/groff/groff.SlackBuild21
-rw-r--r--source/ap/groff/groff.man.mdoc.local24
-rw-r--r--source/ap/hplip/0003-models.dat-Re-add-drivers-missing-from-3.19.1.patch622
-rw-r--r--source/ap/hplip/0018-Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i.patch150
-rw-r--r--source/ap/hplip/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch29
-rw-r--r--source/ap/hplip/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch92
-rwxr-xr-xsource/ap/hplip/hplip.SlackBuild19
-rw-r--r--source/ap/hplip/hplip.is_alive.diff94
-rwxr-xr-xsource/ap/htop/htop.SlackBuild2
-rwxr-xr-xsource/ap/inxi/fetch-inxi.sh18
-rwxr-xr-xsource/ap/inxi/inxi.SlackBuild6
-rw-r--r--source/ap/inxi/inxi.url1
-rw-r--r--source/ap/inxi/slack-desc2
-rwxr-xr-xsource/ap/itstool/itstool.SlackBuild3
-rw-r--r--source/ap/ksh93/doinst.sh44
-rwxr-xr-xsource/ap/ksh93/fetch-ksh.sh52
-rwxr-xr-xsource/ap/ksh93/get-att-ast.sh50
-rw-r--r--source/ap/ksh93/ksh93-functions.sh24
-rwxr-xr-xsource/ap/ksh93/ksh93.SlackBuild175
-rw-r--r--source/ap/ksh93/slack-desc4
-rw-r--r--source/ap/linuxdoc-tools/ChangeLog.txt19
-rwxr-xr-xsource/ap/linuxdoc-tools/arm/build9
-rwxr-xr-xsource/ap/linuxdoc-tools/linuxdoc-tools.build100
-rwxr-xr-xsource/ap/linuxdoc-tools/postbuildfixes.sh28
-rw-r--r--source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.20-lib64.patch10
-rw-r--r--source/ap/linuxdoc-tools/sources/linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch25
-rwxr-xr-xsource/ap/linuxdoc-tools/sources/source.download111
-rwxr-xr-xsource/ap/linuxdoc-tools/trackbuild.linuxdoc-tools4
-rwxr-xr-xsource/ap/lsof/lsof.SlackBuild2
-rw-r--r--source/ap/lsof/lsof.url3
-rw-r--r--source/ap/lxc/lxc-slackware.in19
-rwxr-xr-xsource/ap/lxc/lxc.SlackBuild21
-rw-r--r--source/ap/lxc/lxc.url1
-rw-r--r--source/ap/lxc/scripts/README11
-rw-r--r--source/ap/lxc/scripts/rc.6.lxc329
-rw-r--r--source/ap/lxc/scripts/rc.6.orig319
-rw-r--r--source/ap/lxc/scripts/rc.M.lxc416
-rw-r--r--source/ap/lxc/scripts/rc.M.orig407
-rw-r--r--source/ap/lxc/scripts/rc.S.lxc478
-rw-r--r--source/ap/lxc/scripts/rc.S.orig449
-rw-r--r--source/ap/lxc/scripts/rc.inet1.lxc387
-rw-r--r--source/ap/lxc/scripts/rc.inet1.orig376
-rw-r--r--source/ap/man-db/dont_write_in_usr.diff50
-rwxr-xr-xsource/ap/man-db/man-db.SlackBuild15
-rw-r--r--source/ap/man-db/man-db.cron3
-rwxr-xr-xsource/ap/man-pages/man-pages.SlackBuild22
-rw-r--r--source/ap/mariadb/doinst.sh10
-rwxr-xr-xsource/ap/mariadb/mariadb.SlackBuild20
-rw-r--r--source/ap/mariadb/mysql.no.plugin_auth_pam.diff11
-rw-r--r--source/ap/mariadb/mysql_install_db.nopam.diff48
-rw-r--r--source/ap/mc/mc-3605-extfs.c-fix-buffer-overflow.patch53
-rwxr-xr-xsource/ap/mc/mc.SlackBuild12
-rw-r--r--source/ap/moc/0001-Refreshed-opus-patch-from-Tomasz-Golinski-tomaszg-al.patch586
-rw-r--r--source/ap/moc/0002-Adapted-the-opus-patch-to-config.example.in.patch22
-rw-r--r--source/ap/moc/0003-The-AX_PATH_BDB_NO_OPTIONS-is-broken.patch26
-rw-r--r--source/ap/moc/0004_playtime_perc.patch27
-rw-r--r--source/ap/moc/0005-avcodec-include.patch25
-rw-r--r--source/ap/moc/0006-uncast-warnings.patch44
-rw-r--r--source/ap/moc/0007-cur-dts.patch39
-rw-r--r--source/ap/moc/0008-Rename-configure.in-to-configure.ac.patch18
-rw-r--r--source/ap/moc/0009-Add-https-to-is_url.patch25
-rw-r--r--source/ap/moc/0010-ffmpeg-6.0.patch23
-rw-r--r--source/ap/moc/moc-ffmpeg4.patch33
-rwxr-xr-xsource/ap/moc/moc.SlackBuild22
-rwxr-xr-xsource/ap/moc/svn-checkout.sh14
-rwxr-xr-xsource/ap/most/most.SlackBuild7
-rwxr-xr-xsource/ap/mpg123/mpg123.SlackBuild6
-rw-r--r--source/ap/mpg123/mpg123.lib64.diff12
-rw-r--r--source/ap/nvme-cli/doinst.sh (renamed from source/ap/linuxdoc-tools/doinst.sh)7
-rwxr-xr-xsource/ap/nvme-cli/nvme-cli.SlackBuild45
-rwxr-xr-xsource/ap/opus-tools/opus-tools.SlackBuild4
-rwxr-xr-xsource/ap/pamixer/pamixer.SlackBuild42
-rwxr-xr-xsource/ap/powertop/powertop.SlackBuild7
-rwxr-xr-xsource/ap/qpdf/qpdf.SlackBuild43
-rwxr-xr-xsource/ap/rdfind/rdfind.SlackBuild144
-rw-r--r--source/ap/rdfind/rdfind.url1
-rw-r--r--source/ap/rdfind/slack-desc19
-rwxr-xr-xsource/ap/rpm/rpm.SlackBuild92
-rwxr-xr-xsource/ap/sc-im/repack-github-archive.sh79
-rwxr-xr-xsource/ap/sc-im/sc-im.SlackBuild4
-rwxr-xr-xsource/ap/sc/sc.SlackBuild2
-rwxr-xr-xsource/ap/screen/screen.SlackBuild16
-rw-r--r--source/ap/slackpkg/doinst.sh1
-rw-r--r--source/ap/slackpkg/files/ChangeLog20
-rw-r--r--source/ap/slackpkg/files/core-functions.sh52
-rw-r--r--source/ap/slackpkg/files/mirrors-x86.sample35
-rw-r--r--source/ap/slackpkg/files/mirrors-x86_64.sample36
-rw-r--r--source/ap/slackpkg/files/post-functions.conf-sample7
-rw-r--r--source/ap/slackpkg/files/post-functions.sh13
-rw-r--r--source/ap/slackpkg/files/slackpkg18
-rw-r--r--source/ap/slackpkg/files/slackpkg.824
-rwxr-xr-xsource/ap/slackpkg/slackpkg.SlackBuild4
-rwxr-xr-xsource/ap/soma/soma.SlackBuild8
-rw-r--r--source/ap/soma/soma.desktop.strip.trailing.whitespace.diff22
-rwxr-xr-xsource/ap/sox/sox.SlackBuild2
-rwxr-xr-xsource/ap/sqlite/sqlite.SlackBuild11
-rwxr-xr-xsource/ap/squashfs-tools/squashfs-tools.SlackBuild19
-rwxr-xr-xsource/ap/sudo/sudo.SlackBuild4
-rwxr-xr-xsource/ap/sysstat/sysstat.SlackBuild6
-rw-r--r--source/ap/sysstat/sysstat.url3
-rwxr-xr-xsource/ap/texinfo/texinfo.SlackBuild9
-rwxr-xr-xsource/ap/tmux/tmux.SlackBuild10
-rwxr-xr-xsource/ap/undervolt/undervolt.SlackBuild8
-rwxr-xr-xsource/ap/usbmuxd/fetch-usbmuxd.sh5
-rwxr-xr-xsource/ap/usbmuxd/usbmuxd.SlackBuild2
-rw-r--r--source/ap/vim/ctags.use-conventional-unused-marker.patch305
-rw-r--r--source/ap/vim/doinst.sh25
-rw-r--r--source/ap/vim/slack-desc.vim2
-rw-r--r--source/ap/vim/slack-desc.vim-gvim2
-rwxr-xr-xsource/ap/vim/vim-gvim.SlackBuild14
-rwxr-xr-xsource/ap/vim/vim.SlackBuild38
-rw-r--r--source/ap/vim/vim.url3
-rwxr-xr-xsource/ap/vorbis-tools/vorbis-tools.SlackBuild2
-rwxr-xr-xsource/ap/xfsdump/xfsdump.SlackBuild2
-rw-r--r--source/ap/xmltoman/slack-desc19
-rwxr-xr-xsource/ap/xmltoman/xmltoman.SlackBuild119
-rw-r--r--source/ap/xmltoman/xmltoman.url1
-rwxr-xr-xsource/ap/xorriso/xorriso.SlackBuild4
-rwxr-xr-xsource/ap/zsh/zsh.SlackBuild2
153 files changed, 3627 insertions, 5090 deletions
diff --git a/source/ap/FTBFSlog b/source/ap/FTBFSlog
index 13a5bbcfc..e1401bce2 100644
--- a/source/ap/FTBFSlog
+++ b/source/ap/FTBFSlog
@@ -1,25 +1,10 @@
-Sat Apr 3 17:43:44 UTC 2021
- mariadb: Fix a CMake syntax error. Thanks to nobodino.
+Wed Mar 1 20:05:44 UTC 2023
+ cups-filters: change to -std=c++17. Thanks to lucabon.
+--------------------------+
-Sun Jan 17 20:00:47 UTC 2021
- bpe: port from sys_errlist to strerror.
+Thu Sep 1 02:14:00 UTC 2022
+ lxc: build with -Wno-error=incompatible-pointer-types.
+ Thanks to nobodino.
+--------------------------+
-Sat Jan 16 18:33:06 UTC 2021
- squashfs-tools: add -fcommon to CFLAGS. Thanks to nobodino.
+Mon Feb 7 20:57:55 UTC 2022
+ All packages tested and found to compile properly.
+--------------------------+
-Fri Jan 15 20:03:16 UTC 2021
- ghostscript: fix build against freetype-2.10.4. Thanks to nobodino.
-+--------------------------+
-Mon Dec 9 21:33:37 UTC 2019
- Patched for texinfo-6.7. Thanks to Matteo Bernardini.
-+--------------------------+
-Tue Sep 10 17:52:32 UTC 2019
- jove: patch to fix breakage from removal of stropts.h in glibc-2.30.
-+--------------------------+
-Mon Feb 12 23:18:35 UTC 2018
- All AP packages tested and found to build properly.
-+--------------------------+
-Sat Feb 3 19:07:00 UTC 2018
- Fix all packages that fail to build from source:
- cdrdao: fix build with lame present
- ksh93: ksh hates gcc, switch to clang
diff --git a/source/ap/a2ps/a2ps-4.14-texinfo-nodes.patch b/source/ap/a2ps/a2ps-4.14-texinfo-nodes.patch
deleted file mode 100644
index 47c2001a6..000000000
--- a/source/ap/a2ps/a2ps-4.14-texinfo-nodes.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-diff -up a2ps-4.14/doc/regex.texi_old a2ps-4.14/doc/regex.texi
---- a2ps-4.14/doc/regex.texi_old 2002-03-04 19:46:24.000000000 +0100
-+++ a2ps-4.14/doc/regex.texi 2008-05-16 11:34:42.000000000 +0200
-@@ -121,7 +121,7 @@ Regular Expression Syntax
-
- * Syntax Bits::
- * Predefined Syntaxes::
--* Collating Elements vs. Characters::
-+* Collating Elements vs Characters::
- * The Backslash Character::
-
- Common Operators
-@@ -305,7 +305,7 @@ In the following sections, we describe t
- @menu
- * Syntax Bits::
- * Predefined Syntaxes::
--* Collating Elements vs. Characters::
-+* Collating Elements vs Characters::
- * The Backslash Character::
- @end menu
-
-@@ -470,7 +470,7 @@ operator (based on how @code{RE_NO_BK_PA
- @end table
-
-
--@node Predefined Syntaxes, Collating Elements vs. Characters, Syntax Bits, Regular Expression Syntax
-+@node Predefined Syntaxes, Collating Elements vs Characters, Syntax Bits, Regular Expression Syntax
- @section Predefined Syntaxes
-
- If you're programming with Regex, you can set a pattern buffer's
-@@ -552,8 +552,8 @@ The predefined syntaxes--taken directly
- | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD)
- @end example
-
--@node Collating Elements vs. Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax
--@section Collating Elements vs.@: Characters
-+@node Collating Elements vs Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax
-+@section Collating Elements vs@: Characters
-
- @sc{posix} generalizes the notion of a character to that of a
- collating element. It defines a @dfn{collating element} to be ``a
-@@ -577,7 +577,7 @@ collating element. For example, the Spa
- Since @sc{posix}'s ``collating element'' preserves the essential idea of
- a ``character,'' we use the latter, more familiar, term in this document.
-
--@node The Backslash Character, , Collating Elements vs. Characters, Regular Expression Syntax
-+@node The Backslash Character, , Collating Elements vs Characters, Regular Expression Syntax
- @section The Backslash Character
-
- @cindex @samp{\}
-diff -up a2ps-4.14/doc/a2ps.texi_old a2ps-4.14/doc/a2ps.texi
---- a2ps-4.14/doc/a2ps.texi_old 2008-05-16 11:34:21.000000000 +0200
-+++ a2ps-4.14/doc/a2ps.texi 2008-05-16 11:42:11.000000000 +0200
-@@ -371,11 +371,11 @@ Contributions
-
- Frequently asked questions
-
--* Why Does ...?:: Questions on Error
--* How Can I ...?:: a2ps' How-To
--* Please tell me...:: Existential Questions on a2ps
-+* Why Does?:: Questions on Error
-+* How Can I?:: a2ps' How-To
-+* Please tell me:: Existential Questions on a2ps
-
--Why Does...?
-+Why Does?
-
- * It Prints Nothing:: The printer issues nothing
- * It Prints in Simplex:: While I asked for Duplex
-@@ -385,7 +385,7 @@ Why Does...?
- * It Says my File is Binary:: And refuses to print it
- * It Refuses to Change the Font Size::
-
--How Can I ...?
-+How Can I?
-
- * Leave Room for Binding:: Specifying Margins
- * Print stdin:: Using a2ps in a pipe chain
-@@ -395,7 +395,7 @@ How Can I ...?
- * Non PostScript Printers:: Using GhostScript
- * Man Pages with Underlines:: Now it Prints With Italics
-
--Please tell me...
-+Please tell me
-
- * Is a2ps Y2K compliant?:: Printing dates in short format
- * The Options Have Changed:: Respect The Users
-@@ -6198,13 +6198,13 @@ question about the options, etc. It has
- suggestions, not to contact the authors.
-
- @menu
--* Why Does ...?:: Questions on Error
--* How Can I ...?:: a2ps' How-To
--* Please tell me...:: Existential Questions on a2ps
-+* Why Does?:: Questions on Error
-+* How Can I?:: a2ps' How-To
-+* Please tell me:: Existential Questions on a2ps
- @end menu
-
--@node Why Does ...?
--@section Why Does...?
-+@node Why Does?
-+@section Why Does?
-
- Error related questions.
-
-@@ -6426,8 +6426,8 @@ Note that the `pure' options (no side-ef
- virtual pages are @samp{--columns} and @samp{--rows}.
-
- @c -----------------------------How can I ? ------------------------------
--@node How Can I ...?
--@section How Can I ...?
-+@node How Can I?
-+@section How Can I?
-
- A mini how-to on @pack{}.
-
-@@ -6561,8 +6561,8 @@ Use @samp{a2ps --pro=ul}.
-
-
- @c -------------------------- Please Tell me ? ------------------------------
--@node Please tell me...
--@section Please tell me...
-+@node Please tell me
-+@section Please tell me
-
- Wondering something?
-
diff --git a/source/ap/a2ps/a2ps-texi-comments.patch b/source/ap/a2ps/a2ps-texi-comments.patch
deleted file mode 100644
index 8ccf6f540..000000000
--- a/source/ap/a2ps/a2ps-texi-comments.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a2ps-4.14/doc/a2ps.texi.texifail 2013-03-26 12:50:06.624762058 +0000
-+++ a2ps-4.14/doc/a2ps.texi 2013-03-26 14:44:10.204929702 +0000
-@@ -22,12 +22,12 @@
- @c `a2ps'. Avoid those quotes.
- @iftex
- @macro pack
--@code{@value{PACKAGE}}@c
-+@code{@value{PACKAGE}}
- @end macro
- @end iftex
- @ifnottex
- @macro pack
--@value{PACKAGE}@c
-+@value{PACKAGE}
- @end macro
- @end ifnottex
-
diff --git a/source/ap/a2ps/a2ps.SlackBuild b/source/ap/a2ps/a2ps.SlackBuild
index 9620c9cdc..f07a94bbf 100755
--- a/source/ap/a2ps/a2ps.SlackBuild
+++ b/source/ap/a2ps/a2ps.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2017, 2018, 2023 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=a2ps
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-9}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -70,9 +70,6 @@ cd $PKGNAM-$VERSION || exit 1
zcat $CWD/a2ps.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/a2ps.a2ps_cfg.in.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/a2ps-4.14-texinfo-nodes.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/a2ps-texi-comments.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/a2ps.texinfo-6.7.patch.gz | patch -p1 --verbose || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -82,17 +79,14 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# Configure needs lispdir in case emacs is not installed at this moment:
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-lispdir="/usr/share/emacs/site-lisp" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--infodir=/usr/info \
--mandir=/usr/man \
--sysconfdir=/etc \
- --with-medium=letter \
--build=$ARCH-slackware-linux || exit 1
# Build and install:
@@ -109,7 +103,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \
# Add a documentation directory:
mkdir -p $PKG/usr/doc/a2ps-$VERSION
cp -a \
- ANNOUNCE AUTHORS COPYING* FAQ NEWS README* THANKS TODO \
+ ANNOUNCE* AUTHORS* COPYING* FAQ* NEWS* README* THANKS* TODO* \
$PKG/usr/doc/a2ps-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/ap/a2ps/a2ps.texinfo-6.7.patch b/source/ap/a2ps/a2ps.texinfo-6.7.patch
deleted file mode 100644
index df2a60f39..000000000
--- a/source/ap/a2ps/a2ps.texinfo-6.7.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://bugs.gentoo.org/695918
-
-The patchs fixes build failure against texinfo-6.7+:
-```
-Malformed UTF-8 character: \xcb\xeb (unexpected non-continuation byte 0xeb, immediately after start byte 0xcb;
-need 2 bytes, got 1) in pattern match (m//) at /usr/share/texinfo/Texinfo/ParserNonXS.pm line 3364.
-Malformed UTF-8 character (fatal) at /usr/share/texinfo/Texinfo/ParserNonXS.pm line 3364.
-make[2]: *** [Makefile:472: a2ps.info] Error 25
-```
-
-Fixed-by: Neil Bothwick
---- a/doc/a2ps.texi~ 2019-11-24 18:51:07.000000000 +0000
-+++ a/doc/a2ps.texi 2019-11-24 18:56:30.390438433 +0000
-@@ -1,5 +1,6 @@
- \input texinfo @c -*- texinfo -*-
- @c %**start of header
-+@documentencoding ISO-8859-1
- @setfilename a2ps.info
- @settitle General Purpose PostScript Generating Utility
- @c @setchapternewpage odd
-
---- a/doc/regex.texi~ 2002-03-04 18:46:24.000000000 +0000
-+++ a/doc/regex.texi 2019-11-24 18:56:42.861052598 +0000
-@@ -1,5 +1,6 @@
- \input texinfo
- @c %**start of header
-+@documentencoding ISO-8859-1
- @setfilename regex.info
- @settitle Regex
- @c %**end of header
-
---- a/ogonkify/doc/ogonkify.texi~ 2007-12-29 02:09:38.000000000 +0000
-+++ a/ogonkify/doc/ogonkify.texi 2019-11-24 18:57:03.173424149 +0000
-@@ -1,5 +1,6 @@
- \input texinfo @c -*-texinfo-*-
- @c %**start of header
-+@documentencoding ISO-8859-1
- @setfilename ogonkify.info
- @settitle Ogonkify
- @setchapternewpage off
diff --git a/source/ap/alsa-utils/alsa-utils.url b/source/ap/alsa-utils/alsa-utils.url
new file mode 100644
index 000000000..1d4f43aeb
--- /dev/null
+++ b/source/ap/alsa-utils/alsa-utils.url
@@ -0,0 +1 @@
+ftp://ftp.alsa-project.org/pub
diff --git a/source/ap/at/at.SlackBuild b/source/ap/at/at.SlackBuild
index caf048316..60b0254d0 100755
--- a/source/ap/at/at.SlackBuild
+++ b/source/ap/at/at.SlackBuild
@@ -84,7 +84,7 @@ CFLAGS="$SLKCFLAGS" \
# Does not like parallel builds:
make || exit 1
-make install IROOT=$PKG || exit
+make install DESTDIR=$PKG || exit
mv $PKG/etc/at.deny $PKG/etc/at.deny.new
chown root:root $PKG/var $PKG/var/spool
diff --git a/source/ap/cdrdao/cdrdao.SlackBuild b/source/ap/cdrdao/cdrdao.SlackBuild
index 6ec7d725d..4f77fcb26 100755
--- a/source/ap/cdrdao/cdrdao.SlackBuild
+++ b/source/ap/cdrdao/cdrdao.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2012, 2017, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2017, 2018, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=cdrdao
-VERSION=1.2.4
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -97,7 +97,7 @@ gzip -9 $PKG/usr/man/man1/*.?
mkdir -p $PKG/usr/doc/cdrdao-$VERSION
cp -a \
- AUTHORS COPYING* CREDITS INSTALL NEWS README* \
+ AUTHORS* COPYING* CREDITS* INSTALL* NEWS* README* \
cdrdao.lsm \
contrib \
$PKG/usr/doc/cdrdao-$VERSION
diff --git a/source/ap/cdrdao/cdrdao.url b/source/ap/cdrdao/cdrdao.url
new file mode 100644
index 000000000..fc15b6e38
--- /dev/null
+++ b/source/ap/cdrdao/cdrdao.url
@@ -0,0 +1 @@
+https://github.com/cdrdao/cdrdao/
diff --git a/source/ap/cdrtools/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch b/source/ap/cdrtools/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch
deleted file mode 100644
index 0523fdd98..000000000
--- a/source/ap/cdrtools/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch
+++ /dev/null
@@ -1,511 +0,0 @@
---- cdrtools-3.01.orig/mkisofs/diag/isoinfo.c 2015-07-22 20:36:45.000000000 +0000
-+++ cdrtools-3.01/mkisofs/diag/isoinfo.c 2015-11-17 19:35:40.000000000 +0000
-@@ -1,8 +1,8 @@
--/* @(#)isoinfo.c 1.95 15/07/22 joerg */
-+/* @(#)isoinfo.c 1.100 15/11/17 joerg */
- #include <schily/mconfig.h>
- #ifndef lint
- static UConst char sccsid[] =
-- "@(#)isoinfo.c 1.95 15/07/22 joerg";
-+ "@(#)isoinfo.c 1.100 15/11/17 joerg";
- #endif
- /*
- * File isodump.c - dump iso9660 directory information.
-@@ -148,8 +148,10 @@ LOCAL char er_id[256];
- LOCAL int su_version = 0;
- LOCAL int rr_version = 0;
- LOCAL int aa_version = 0;
-+LOCAL int cl_extent = 0;
- LOCAL int ucs_level = 0;
- LOCAL BOOL iso9660_inodes = FALSE;
-+LOCAL uid_t myuid;
-
- #ifdef USE_FIND
- LOCAL findn_t *find_node; /* syntaxtree from find_parse() */
-@@ -208,6 +210,9 @@ LOCAL void extract __PR((char *rootname
- LOCAL void extract_file __PR((int f,
- struct iso_directory_record * idr,
- char *fname));
-+LOCAL void parse_cl_dir __PR((struct iso_directory_record *idr,
-+ int extent));
-+LOCAL BOOL parse_de __PR((struct iso_directory_record *idr));
- LOCAL void parse_dir __PR((char * rootname, int extent, int len));
- LOCAL void usage __PR((int excode));
- EXPORT int main __PR((int argc, char *argv[]));
-@@ -459,7 +464,6 @@ parse_rr(pnt, len, cont_flag)
- int slen;
- int xlen;
- int ncount;
-- int cl_extent;
- int pl_extent;
- int cont_extent, cont_offset, cont_size;
- int flag1, flag2;
-@@ -469,7 +473,7 @@ parse_rr(pnt, len, cont_flag)
-
- symlinkname[0] = 0;
-
-- cont_extent = cont_offset = cont_size = 0;
-+ cl_extent = cont_extent = cont_offset = cont_size = 0;
-
- ncount = 0;
- flag1 = -1;
-@@ -714,6 +718,7 @@ struct todo
- };
-
- LOCAL struct todo *todo_idr = NULL;
-+LOCAL struct todo **todo_pp = &todo_idr;
-
- LOCAL char *months[12] = {"Jan", "Feb", "Mar", "Apr",
- "May", "Jun", "Jul",
-@@ -962,8 +967,14 @@ static BOOL isfirst = TRUE;
- close(f);
- return;
- setmode:
-- fchmodat(AT_FDCWD, fname, fstat_buf.st_mode, AT_SYMLINK_NOFOLLOW);
- fchownat(AT_FDCWD, fname, fstat_buf.st_uid, fstat_buf.st_gid, AT_SYMLINK_NOFOLLOW);
-+ if (myuid != 0 && S_ISDIR(fstat_buf.st_mode)) {
-+ /*
-+ * Temporary hack until we have a dirstack like star.
-+ */
-+ fstat_buf.st_mode |= S_IWUSR;
-+ }
-+ fchmodat(AT_FDCWD, fname, fstat_buf.st_mode, AT_SYMLINK_NOFOLLOW);
- times[0].tv_sec = fstat_buf.st_atime;
- times[0].tv_nsec = stat_ansecs(&fstat_buf);
- times[1].tv_sec = fstat_buf.st_mtime;
-@@ -1001,6 +1012,143 @@ extract_file(f, idr, fname)
- }
- }
-
-+
-+LOCAL void
-+parse_cl_dir(idr, extent)
-+ struct iso_directory_record *idr;
-+ int extent;
-+{
-+ char cl_name_buf[256*3];
-+
-+ strlcpy(cl_name_buf, name_buf, sizeof (cl_name_buf));
-+#ifdef USE_SCG
-+ readsecs(extent - sector_offset, idr, 1);
-+#else
-+ lseek(fileno(infile), ((off_t)(extent - sector_offset)) << 11, SEEK_SET);
-+ read(fileno(infile), idr, 2048);
-+#endif
-+
-+ if (parse_de(idr) && use_rock)
-+ dump_rr(idr);
-+ strlcpy(name_buf, cl_name_buf, sizeof (name_buf));
-+}
-+
-+LOCAL BOOL
-+parse_de(idr)
-+ struct iso_directory_record *idr;
-+{
-+ unsigned char uc;
-+
-+ if (idr->length[0] == 0)
-+ return (FALSE);
-+ memset(&fstat_buf, 0, sizeof (fstat_buf));
-+ found_rr = 0;
-+ name_buf[0] = xname[0] = 0;
-+ fstat_buf.st_size = (off_t)(unsigned)isonum_733((unsigned char *)idr->size);
-+ if (idr->flags[0] & 2)
-+ fstat_buf.st_mode |= S_IFDIR;
-+ else
-+ fstat_buf.st_mode |= S_IFREG;
-+ if (idr->name_len[0] == 1 && idr->name[0] == 0)
-+ strcpy(name_buf, ".");
-+ else if (idr->name_len[0] == 1 && idr->name[0] == 1)
-+ strcpy(name_buf, "..");
-+ else {
-+ switch (ucs_level) {
-+ case 3:
-+ case 2:
-+ case 1:
-+ /*
-+ * Unicode name. Convert as best we can.
-+ */
-+ {
-+ int j;
-+ name_buf[0] = '\0';
-+#ifdef USE_ICONV
-+ if (use_iconv(unls)) {
-+ int u;
-+ char *to = name_buf;
-+
-+ for (j = 0, u = 0; j < (int)idr->name_len[0] / 2; j++) {
-+ char *ibuf = (char *)&idr->name[j*2];
-+ size_t isize = 2; /* UCS-2 character size */
-+ size_t osize = 4;
-+
-+ if (iconv(unls->sic_uni2cd, (__IC_CONST char **)&ibuf, &isize,
-+ (char **)&to, &osize) == -1) {
-+ int err = geterrno();
-+
-+ if ((err == EINVAL || err == EILSEQ) &&
-+ osize == 4) {
-+ *to = '_';
-+ u += 1;
-+ to++;
-+ }
-+ } else {
-+ u += 4 - osize;
-+ to = &name_buf[u];
-+ }
-+ }
-+ j = u;
-+ } else
-+#endif
-+ for (j = 0; j < (int)idr->name_len[0] / 2; j++) {
-+ UInt16_t unichar;
-+
-+ unichar = (idr->name[j*2] & 0xFF) * 256 +
-+ (idr->name[j*2+1] & 0xFF);
-+
-+ /*
-+ * Get the backconverted char
-+ */
-+ if (unls)
-+ uc = sic_uni2c(unls, unichar);
-+ else
-+ uc = unichar > 255 ? '_' : unichar;
-+
-+ name_buf[j] = uc ? uc : '_';
-+ }
-+ name_buf[j] = '\0';
-+ }
-+ break;
-+ case 0:
-+ /*
-+ * Normal non-Unicode name.
-+ */
-+ strncpy(name_buf, idr->name, idr->name_len[0]);
-+ name_buf[idr->name_len[0]] = 0;
-+ break;
-+ default:
-+ /*
-+ * Don't know how to do these yet. Maybe they are the same
-+ * as one of the above.
-+ */
-+ exit(1);
-+ }
-+ }
-+ memcpy(date_buf, idr->date, 9);
-+ /*
-+ * Always first set up time stamps and file modes from
-+ * ISO-9660. This is used as a fallback in case that
-+ * there is no related Rock Ridge based data.
-+ */
-+ fstat_buf.st_atime =
-+ fstat_buf.st_mtime =
-+ fstat_buf.st_ctime = iso9660_time(date_buf, NULL, FALSE);
-+ fstat_buf.st_mode |= S_IRUSR|S_IXUSR |
-+ S_IRGRP|S_IXGRP |
-+ S_IROTH|S_IXOTH;
-+ fstat_buf.st_nlink = 1;
-+ fstat_buf.st_ino = 0;
-+ fstat_buf.st_uid = 0;
-+ fstat_buf.st_gid = 0;
-+ if (iso9660_inodes) {
-+ fstat_buf.st_ino = (unsigned long)
-+ isonum_733((unsigned char *)idr->extent);
-+ }
-+ return (TRUE);
-+}
-+
- LOCAL void
- parse_dir(rootname, extent, len)
- char *rootname;
-@@ -1012,12 +1160,13 @@ parse_dir(rootname, extent, len)
- struct iso_directory_record * idr;
- struct iso_directory_record didr;
- struct stat dstat;
-- unsigned char uc;
-+ unsigned char cl_buffer[2048];
- unsigned char flags = 0;
- Llong size = 0;
- int sextent = 0;
- int rlen;
- int blen;
-+ int rr_flags = 0;
- static char *n = 0;
- static int nlen = 0;
-
-@@ -1039,115 +1188,23 @@ static int nlen = 0;
- i = 0;
- while (1 == 1) {
- idr = (struct iso_directory_record *) &buffer[i];
-- if (idr->length[0] == 0) break;
-- memset(&fstat_buf, 0, sizeof (fstat_buf));
-- found_rr = 0;
-- name_buf[0] = xname[0] = 0;
-- fstat_buf.st_size = (off_t)(unsigned)isonum_733((unsigned char *)idr->size);
-- if (idr->flags[0] & 2)
-- fstat_buf.st_mode |= S_IFDIR;
-- else
-- fstat_buf.st_mode |= S_IFREG;
-- if (idr->name_len[0] == 1 && idr->name[0] == 0)
-- strcpy(name_buf, ".");
-- else if (idr->name_len[0] == 1 && idr->name[0] == 1)
-- strcpy(name_buf, "..");
-- else {
-- switch (ucs_level) {
-- case 3:
-- case 2:
-- case 1:
-- /*
-- * Unicode name. Convert as best we can.
-- */
-- {
-- int j;
--
-- name_buf[0] = '\0';
--#ifdef USE_ICONV
-- if (use_iconv(unls)) {
-- int u;
-- char *to = name_buf;
--
-- for (j = 0, u = 0; j < (int)idr->name_len[0] / 2; j++) {
-- char *ibuf = (char *)&idr->name[j*2];
-- size_t isize = 2; /* UCS-2 character size */
-- size_t osize = 4;
--
-- if (iconv(unls->sic_uni2cd, (__IC_CONST char **)&ibuf, &isize,
-- (char **)&to, &osize) == -1) {
-- int err = geterrno();
--
-- if ((err == EINVAL || err == EILSEQ) &&
-- osize == 4) {
-- *to = '_';
-- u += 1;
-- to++;
-- }
-- } else {
-- u += 4 - osize;
-- to = &name_buf[u];
-- }
-- }
-- j = u;
-- } else
--#endif
-- for (j = 0; j < (int)idr->name_len[0] / 2; j++) {
-- UInt16_t unichar;
--
-- unichar = (idr->name[j*2] & 0xFF) * 256 +
-- (idr->name[j*2+1] & 0xFF);
--
-- /*
-- * Get the backconverted char
-- */
-- if (unls)
-- uc = sic_uni2c(unls, unichar);
-- else
-- uc = unichar > 255 ? '_' : unichar;
-+ if (idr->length[0] == 0)
-+ break;
-+ parse_de(idr);
-+ if (use_rock) {
-+ rr_flags = dump_rr(idr);
-
-- name_buf[j] = uc ? uc : '_';
-- }
-- name_buf[j] = '\0';
-- }
-- break;
-- case 0:
-+ if (rr_flags & RR_FLAG_CL) {
- /*
-- * Normal non-Unicode name.
-+ * Need to reparse the child link
-+ * but note that we parse "CL/."
-+ * so we get no usable file name.
- */
-- strncpy(name_buf, idr->name, idr->name_len[0]);
-- name_buf[idr->name_len[0]] = 0;
-- break;
-- default:
-- /*
-- * Don't know how to do these yet. Maybe they are the same
-- * as one of the above.
-- */
-- exit(1);
-- }
-+ idr = (struct iso_directory_record *) cl_buffer;
-+ parse_cl_dir(idr, cl_extent);
-+ } else if (rr_flags & RR_FLAG_RE)
-+ goto cont; /* skip rr_moved */
- }
-- memcpy(date_buf, idr->date, 9);
-- /*
-- * Always first set up time stamps and file modes from
-- * ISO-9660. This is used as a fallback in case that
-- * there is no related Rock Ridge based data.
-- */
-- fstat_buf.st_atime =
-- fstat_buf.st_mtime =
-- fstat_buf.st_ctime = iso9660_time(date_buf, NULL, FALSE);
-- fstat_buf.st_mode |= S_IRUSR|S_IXUSR |
-- S_IRGRP|S_IXGRP |
-- S_IROTH|S_IXOTH;
-- fstat_buf.st_nlink = 1;
-- fstat_buf.st_ino = 0;
-- fstat_buf.st_uid = 0;
-- fstat_buf.st_gid = 0;
-- if (iso9660_inodes) {
-- fstat_buf.st_ino = (unsigned long)
-- isonum_733((unsigned char *)idr->extent);
-- }
-- if (use_rock)
-- dump_rr(idr);
- if (Xtract &&
- (idr->flags[0] & 2) != 0 &&
- idr->name_len[0] == 1 &&
-@@ -1170,30 +1227,30 @@ static int nlen = 0;
- n[rlen] = '\0';
-
- if ((idr->flags[0] & 2) != 0 &&
-- (idr->name_len[0] != 1 ||
-+ ((rr_flags & RR_FLAG_CL) ||
-+ idr->name_len[0] != 1 ||
- (idr->name[0] != 0 && idr->name[0] != 1))) {
- /*
- * This is a plain directory (neither "xxx/."
- * nor "xxx/..").
- * Add this directory to the todo list.
- */
-- td = todo_idr;
-- if (td != NULL) {
-- while (td->next != NULL)
-- td = td->next;
-- td->next = (struct todo *) malloc(sizeof (*td));
-- td = td->next;
-- } else {
-- todo_idr = td = (struct todo *) malloc(sizeof (*td));
-- }
-+ td = (struct todo *) malloc(sizeof (*td));
-+ if (td == NULL)
-+ comerr(_("No memory.\n"));
- td->next = NULL;
- td->extent = isonum_733((unsigned char *)idr->extent);
- td->length = isonum_733((unsigned char *)idr->size);
- td->name = (char *) malloc(strlen(rootname)
- + strlen(name_buf) + 2);
-+ if (td->name == NULL)
-+ comerr(_("No memory.\n"));
- strcpy(td->name, rootname);
- strcat(td->name, name_buf);
- strcat(td->name, "/");
-+
-+ *todo_pp = td;
-+ todo_pp = &td->next;
- } else {
- if (xtract && strcmp(xtract, n) == 0) {
- extract_file(STDOUT_FILENO, idr, "stdout");
-@@ -1253,6 +1310,7 @@ static int nlen = 0;
- if ((idr->flags[0] & ISO_MULTIEXTENT) == 0)
- size = 0;
- }
-+ cont:
- i += buffer[i];
- if (i > 2048 - offsetof(struct iso_directory_record, name[0])) break;
- }
-@@ -1381,12 +1439,13 @@ main(argc, argv)
- usage(0);
- if (prvers) {
- printf(_("isoinfo %s (%s-%s-%s) Copyright (C) 1993-1999 %s (C) 1999-2015 %s\n"),
-- VERSION,
-+ "3.02a02",
- HOST_CPU, HOST_VENDOR, HOST_OS,
- _("Eric Youngdale"),
- _("Joerg Schilling"));
- exit(0);
- }
-+ myuid = getuid();
- #ifdef USE_FIND
- if (do_find) {
- finda_t fa;
---- cdrtools-3.01.orig/mkisofs/udf.c 2013-04-24 20:45:18.000000000 +0000
-+++ cdrtools-3.01/mkisofs/udf.c 2015-11-25 22:07:30.000000000 +0000
-@@ -1,15 +1,15 @@
--/* @(#)udf.c 1.42 13/04/24 Copyright 2001-2013 J. Schilling */
-+/* @(#)udf.c 1.43 15/11/25 Copyright 2001-2015 J. Schilling */
- #include <schily/mconfig.h>
- #ifndef lint
- static UConst char sccsid[] =
-- "@(#)udf.c 1.42 13/04/24 Copyright 2001-2013 J. Schilling";
-+ "@(#)udf.c 1.43 15/11/25 Copyright 2001-2015 J. Schilling";
- #endif
- /*
- * udf.c - UDF support for mkisofs
- *
- * Written by Ben Rudiak-Gould (2001).
- *
-- * Copyright 2001-2013 J. Schilling.
-+ * Copyright 2001-2015 J. Schilling.
- */
- /*
- * This program is free software; you can redistribute it and/or modify
-@@ -98,7 +98,7 @@ static UConst char sccsid[] =
- extern int use_sparcboot;
-
- extern struct directory *root;
--extern time_t begun;
-+extern struct timeval tv_begun;
-
- static unsigned lba_main_seq;
- static unsigned lba_main_seq_copy;
-@@ -110,7 +110,7 @@ static unsigned lba_end_anchor_vol_desc;
- static unsigned num_udf_files;
- static unsigned num_udf_directories;
-
--static unsigned volume_set_id[2];
-+static unsigned volume_set_id[2] = { 0, 0 };
-
- #define UDF_MAIN_SEQ_LENGTH (16)
- #define UDF_INTEG_SEQ_LENGTH (2)
-@@ -723,7 +723,7 @@ set_primary_vol_desc(buf, lba)
- /*pvd->volume_abstract;*/
- /*pvd->volume_copyright_notice;*/
- /*pvd->application_ident;*/
-- set_timestamp_from_time_t(&pvd->recording_date_and_time, begun);
-+ set_timestamp_from_time_t(&pvd->recording_date_and_time, tv_begun.tv_sec);
- set_impl_ident(&pvd->impl_ident);
- set_tag(&pvd->desc_tag, UDF_TAGID_PRIMARY_VOLUME_DESC, lba, 512);
- }
-@@ -831,7 +831,7 @@ set_logical_vol_integrity_desc(buf, lba)
- udf_logical_volume_integrity_desc *lvid =
- (udf_logical_volume_integrity_desc *)buf;
-
-- set_timestamp_from_time_t(&lvid->recording_date, begun);
-+ set_timestamp_from_time_t(&lvid->recording_date, tv_begun.tv_sec);
- set32(&lvid->integrity_type, UDF_INTEGRITY_TYPE_CLOSE);
- /*lvid->next_integrity_extent;*/
- set64(&lvid->logical_volume_contents_use.unique_id,
-@@ -859,7 +859,7 @@ set_file_set_desc(buf, rba)
- {
- udf_file_set_desc *fsd = (udf_file_set_desc *)buf;
-
-- set_timestamp_from_time_t(&fsd->recording_date_and_time, begun);
-+ set_timestamp_from_time_t(&fsd->recording_date_and_time, tv_begun.tv_sec);
- set16(&fsd->interchange_level, 3);
- set16(&fsd->maximum_interchange_level, 3);
- set32(&fsd->character_set_list, 1);
-@@ -1986,8 +1986,10 @@ udf_main_seq_write(out)
- * volume_set_id needs to be set to a (64-bit) "unique" number.
- * This will have to do for now.
- */
-- volume_set_id[0] = begun;
-- volume_set_id[1] = (unsigned)clock(); /* XXX Maybe non-portable */
-+ if (volume_set_id[0] == 0) {
-+ volume_set_id[0] = tv_begun.tv_sec;
-+ volume_set_id[1] = (unsigned)tv_begun.tv_usec;
-+ }
-
- memset(buf, 0, sizeof (buf));
- set_primary_vol_desc(buf, last_extent_written++);
---- cdrtools-3.01.orig/mkisofs/mkisofs.c 2015-01-01 14:19:51.000000000 +0000
-+++ cdrtools-3.01/mkisofs/mkisofs.c
-@@ -69 +69 @@ int path_ind;
--char version_string[] = VERSION;
-+char version_string[] = "3.01-fix-20151126";
diff --git a/source/ap/cdrtools/cdrtools.SlackBuild b/source/ap/cdrtools/cdrtools.SlackBuild
index c90d9e94d..34334abbf 100755
--- a/source/ap/cdrtools/cdrtools.SlackBuild
+++ b/source/ap/cdrtools/cdrtools.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2018, 2021 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,11 +23,13 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=cdrtools
-VERSION=${VERSION:-$(echo cdrtools-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-6}
+VERSION=${VERSION:-$(echo cdrtools-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-1}
ZISOFSTOOLS=1.0.8
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+# This package does not support parallel build:
+#NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+unset NUMJOBS
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -55,7 +57,7 @@ mkdir -p $TMP $PKG/usr
cd $TMP
rm -rf cdrtools-$(echo $VERSION | cut -f 1 -d a)
-tar xvf $CWD/cdrtools-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/cdrtools-$VERSION.tar.?z || exit 1
cd cdrtools-$(echo $VERSION | cut -f 1 -d a) || exit 1
chown -R root:root .
find . \
@@ -64,9 +66,13 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-zcat $CWD/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch.gz | patch -p1 --verbose || exit 1
-
-make -e $NUMJOBS INS_BASE=/usr DEFMANBASE=. || make -e INS_BASE=/usr DEFMANBASE=. || exit 1
+# When running make below, you'll see "errors" like these:
+# config.h:34:10: fatal error: lconfig.h: No such file or directory
+# 34 | #include "lconfig.h"
+# However, lconfig.h will eventually be generated from lconfig.h.in, the build
+# will restart, and the package will be correctly built. Since there are no
+# ill effects from this I see no compelling reason to try to patch it here.
+make -e INS_BASE=/usr DEFMANBASE=. || exit 1
make -e install INS_BASE=/usr DEFMANBASE=. DESTDIR=$PKG || exit 1
# I don't know why this couldn't be "/etc/cdrtools" or something, but since
@@ -134,7 +140,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
CFLAGS="-O2" ./configure --prefix=/usr --build=$ARCH-slackware-linux
-make $NUMJOBS || make || exit 1
+make || exit 1
cat mkzftree > $PKG/usr/bin/mkzftree
chmod 0755 $PKG/usr/bin/mkzftree
cat mkzftree.1 | gzip -9c > $PKG/usr/man/man1/mkzftree.1.gz
diff --git a/source/ap/cups-browsed/cups-browsed.SlackBuild b/source/ap/cups-browsed/cups-browsed.SlackBuild
new file mode 100755
index 000000000..3823d256e
--- /dev/null
+++ b/source/ap/cups-browsed/cups-browsed.SlackBuild
@@ -0,0 +1,153 @@
+#!/bin/bash
+
+# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=cups-browsed
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-cups-rundir=/run/cups \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+mkdir -p $PKG/etc/rc.d
+mv $PKG/etc/init.d/cups-browsed $PKG/etc/rc.d/rc.cups-browsed
+chmod 0644 $PKG/etc/rc.d/rc.cups-browsed
+rm -rf $PKG/etc/init.d $PKG/etc/rc{0,2,3,5}.d
+
+find $PKG/etc -type f -exec mv {} {}.new \;
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual 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
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* CHANGES* CONTRIBUTING* COPYING* ChangeLog* DEVELOPING* INSTALL* LICENSE* NEWS* NOTICE* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a CHANGES.md file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES.md ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat CHANGES.md | head -n 1000 > $DOCSDIR/CHANGES.md
+ touch -r CHANGES.md $DOCSDIR/CHANGES.md
+fi
+
+# Nope:
+rm -f $PKG/usr/doc/${PKGNAM}-$VERSION/CHANGES-1.x*
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/ap/cups-browsed/cups-browsed.url b/source/ap/cups-browsed/cups-browsed.url
new file mode 100644
index 000000000..8c533178f
--- /dev/null
+++ b/source/ap/cups-browsed/cups-browsed.url
@@ -0,0 +1 @@
+https://github.com/OpenPrinting/cups-browsed
diff --git a/source/ap/cups-filters/doinst.sh b/source/ap/cups-browsed/doinst.sh
index 35b624517..35b624517 100644
--- a/source/ap/cups-filters/doinst.sh
+++ b/source/ap/cups-browsed/doinst.sh
diff --git a/source/ap/cups-browsed/slack-desc b/source/ap/cups-browsed/slack-desc
new file mode 100644
index 000000000..5bf3c02a0
--- /dev/null
+++ b/source/ap/cups-browsed/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------------------------------------------------------|
+cups-browsed: cups-browsed (CUPS printer queue browser)
+cups-browsed:
+cups-browsed: The cups-browsed daemon is used to browse the network for remote CUPS
+cups-browsed: queues and IPP network printers and automatically create local queues
+cups-browsed: pointing to them.
+cups-browsed:
+cups-browsed: Homepage: http://www.openprinting.org
+cups-browsed:
+cups-browsed:
+cups-browsed:
+cups-browsed:
diff --git a/source/ap/cups-filters/cups-filters.SlackBuild b/source/ap/cups-filters/cups-filters.SlackBuild
index ffbe020a5..e9cb6e17d 100755
--- a/source/ap/cups-filters/cups-filters.SlackBuild
+++ b/source/ap/cups-filters/cups-filters.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2015, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2015, 2018, 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=cups-filters
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -68,7 +68,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
@@ -78,18 +78,26 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+# We "--disable-avahi" because this package can't even use it.
+
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -std=c++11 -fpermissive" \
+CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--infodir=/usr/info \
+ --runstatedir=/run \
--sysconfdir=/etc \
--localstatedir=/var \
--docdir=/usr/doc/$PKGNAM-$VERSION \
- --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf \
- --without-php \
--disable-avahi \
--disable-mutool \
--disable-static \
@@ -108,30 +116,25 @@ 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/etc/rc.d
-mv $PKG/etc/init.d/cups-browsed $PKG/etc/rc.d/rc.cups-browsed
-chmod 0644 $PKG/etc/rc.d/rc.cups-browsed
-rm -rf $PKG/etc/init.d $PKG/etc/rc{0,2,3,5}.d
-
-find $PKG/etc -type f -exec mv {} {}.new \;
-
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- AUTHORS COPYING* INSTALL ChangeLog NEWS README* THANKS TODO \
+ AUTHORS* CHANGES* CONTRIBUTING* COPYING* ChangeLog* DEVELOPING* INSTALL* LICENSE* NEWS* NOTICE* README* \
$PKG/usr/doc/${PKGNAM}-$VERSION
-# If there's a ChangeLog, installing at least part of the recent history
+# If there's a CHANGES.md, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
+if [ -r CHANGES.md ]; then
DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
+ cat CHANGES.md | head -n 1000 > $DOCSDIR/CHANGES.md
+ touch -r CHANGES.md $DOCSDIR/CHANGES.md
fi
+# Nope:
+rm -f $PKG/usr/doc/${PKGNAM}-$VERSION/CHANGES-1.x*
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/ap/cups-filters/cups-filters.url b/source/ap/cups-filters/cups-filters.url
index 7b1d5cdfa..54e28aa53 100644
--- a/source/ap/cups-filters/cups-filters.url
+++ b/source/ap/cups-filters/cups-filters.url
@@ -1 +1 @@
-http://www.openprinting.org/download/cups-filters/
+https://github.com/OpenPrinting/cups-filters
diff --git a/source/ap/cups-filters/slack-desc b/source/ap/cups-filters/slack-desc
index 9c2590f3b..6f6344b63 100644
--- a/source/ap/cups-filters/slack-desc
+++ b/source/ap/cups-filters/slack-desc
@@ -13,7 +13,7 @@ cups-filters: once part of the core CUPS distribution but is no longer included.
cups-filters: In addition it contains additional filters and software developed
cups-filters: independently.
cups-filters:
-cups-filters:
+cups-filters: Homepage: http://www.openprinting.org
cups-filters:
cups-filters:
cups-filters:
diff --git a/source/ap/cups/cups.SlackBuild b/source/ap/cups/cups.SlackBuild
index 540af43b3..28f47c1cf 100755
--- a/source/ap/cups/cups.SlackBuild
+++ b/source/ap/cups/cups.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2012, 2015, 2017, 2018, 2019, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2015, 2017, 2018, 2019, 2021, 2022, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=cups
VERSION=${VERSION:-$(echo $PKGNAM-2*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -94,19 +94,21 @@ CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--libdir=/usr/lib${LIBDIRSUFFIX} \
- --enable-ssl \
- --enable-gnutls=yes \
+ --with-pkgconfpath=/usr/lib${LIBDIRSUFFIX}/pkgconfig \
--enable-cdsassl=no \
--docdir=/usr/doc \
+ --mandir=/usr/man \
+ --with-rundir=/run/cups \
$PAM_OPTIONS \
$SHADOW_OPTIONS \
- --disable-avahi \
- --disable-dnssd \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || exit 1
make BUILDROOT=$PKG install || exit 1
+# These files are lost with a restart, so don't package them:
+rm -r $PKG/run
+
if [ ! -z "$PAM_OPTIONS" ]; then
# Allow pam config files to be edited by root:
chmod 644 $PKG/etc/pam.d/*
@@ -160,13 +162,6 @@ rmdir --parents $PKG/etc/dbus-1/system.d/
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-# Remove preformatted manpages and move the manpages to /usr/man:
-( cd $PKG/usr/share/man
- find . -type d -name "cat*" | xargs rm -rf
- cd ..
- mv man ..
-)
-
# Compress manual pages:
find $PKG/usr/man -type f -exec gzip -9 {} \+
for i in $( find $PKG/usr/man -type l ) ; do
@@ -180,13 +175,16 @@ done
rmdir $PKG/usr/share/doc
cd $PKG/usr/doc
ln -sf cups-$VERSION cups )
+ cp -a \
+ CHANGES* CONTRIBUTING* CREDITS* DEVELOPING* INSTALL* LICENSE* NOTICE* README* SECURITY* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
-if [ -r CHANGES.txt ]; then
+if [ -r CHANGES.md ]; then
DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat CHANGES.txt | head -n 1000 > $DOCSDIR/CHANGES.txt
- touch -r CHANGES.txt $DOCSDIR/CHANGES.txt
+ cat CHANGES.md | head -n 1000 > $DOCSDIR/CHANGES.md
+ touch -r CHANGES.md $DOCSDIR/CHANGES.md
fi
# I'm sorry, but PDF files are almost as bloated and annoying as
diff --git a/source/ap/cups/cups.url b/source/ap/cups/cups.url
index 8a1831e77..e994a35d8 100644
--- a/source/ap/cups/cups.url
+++ b/source/ap/cups/cups.url
@@ -1 +1 @@
-https://github.com/openprinting/cups/releases
+https://github.com/openprinting/cups
diff --git a/source/ap/dash/dash.SlackBuild b/source/ap/dash/dash.SlackBuild
index 62af6dcf7..a99ed1a0b 100755
--- a/source/ap/dash/dash.SlackBuild
+++ b/source/ap/dash/dash.SlackBuild
@@ -30,7 +30,7 @@ BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
diff --git a/source/ap/dc3dd/dc3dd.SlackBuild b/source/ap/dc3dd/dc3dd.SlackBuild
index bef928904..c3451ad70 100755
--- a/source/ap/dc3dd/dc3dd.SlackBuild
+++ b/source/ap/dc3dd/dc3dd.SlackBuild
@@ -2,8 +2,8 @@
# Slackware build script for dc3dd
-# Copyright 2008 Barry J. Grundy <http://www.linuxleo.com>
-# Copyright 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008 Barry J. Grundy <http://www.linuxleo.com>
+# Copyright 2010, 2018, 2023 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=dc3dd
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -49,7 +49,7 @@ fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-OUTPUT=${OUTPUT:-/tmp}
+OUTPUT=${OUTPUT:-$TMP}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
@@ -78,8 +78,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-zcat $CWD/dc3dd.glibc228.diff.gz | patch -p1 --verbose || exit 1
-
chmod +x ./configure
CFLAGS="$SLKCFLAGS" \
diff --git a/source/ap/dc3dd/dc3dd.glibc228.diff b/source/ap/dc3dd/dc3dd.glibc228.diff
deleted file mode 100644
index cd5f2bda9..000000000
--- a/source/ap/dc3dd/dc3dd.glibc228.diff
+++ /dev/null
@@ -1,57 +0,0 @@
---- ./lib/stdio-impl.h.orig 2012-11-06 05:42:58.000000000 -0600
-+++ ./lib/stdio-impl.h 2018-09-18 18:43:39.324058680 -0500
-@@ -92,3 +92,10 @@
- # endif
-
- #endif
-+
-+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
-+ problem by defining it ourselves. FIXME: Do not rely on glibc
-+ internals. */
-+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
-+# define _IO_IN_BACKUP 0x100
-+#endif
---- ./lib/freadahead.c.orig 2012-11-06 05:42:58.000000000 -0600
-+++ ./lib/freadahead.c 2018-09-18 18:43:39.319058680 -0500
-@@ -24,7 +24,7 @@
- size_t
- freadahead (FILE *fp)
- {
--#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
- if (fp->_IO_write_ptr > fp->_IO_write_base)
- return 0;
- return (fp->_IO_read_end - fp->_IO_read_ptr)
---- ./lib/freadseek.c.orig 2012-11-06 05:42:58.000000000 -0600
-+++ ./lib/freadseek.c 2018-09-18 18:43:39.322058680 -0500
-@@ -34,7 +34,7 @@
- freadptrinc (FILE *fp, size_t increment)
- {
- /* Keep this code in sync with freadptr! */
--#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
- fp->_IO_read_ptr += increment;
- #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
- fp_->_p += increment;
---- ./lib/fseterr.c.orig 2012-11-06 05:42:58.000000000 -0600
-+++ ./lib/fseterr.c 2018-09-18 18:43:39.323058680 -0500
-@@ -29,7 +29,7 @@
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
- fp->_flags |= _IO_ERR_SEEN;
- #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
- fp_->_flags |= __SERR;
---- ./lib/freadptr.c.orig 2012-11-06 05:42:58.000000000 -0600
-+++ ./lib/freadptr.c 2018-09-18 18:43:39.321058680 -0500
-@@ -29,7 +29,7 @@
- size_t size;
-
- /* Keep this code in sync with freadahead! */
--#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
- if (fp->_IO_write_ptr > fp->_IO_write_base)
- return NULL;
- size = fp->_IO_read_end - fp->_IO_read_ptr;
diff --git a/source/ap/dc3dd/slack-desc b/source/ap/dc3dd/slack-desc
index 5350464be..0b29ac8fa 100644
--- a/source/ap/dc3dd/slack-desc
+++ b/source/ap/dc3dd/slack-desc
@@ -14,6 +14,6 @@ dc3dd: dcfldd, but were rewritten for dc3dd. Added features include robust
dc3dd: error handling, logging, progress meter, image verification, split
dc3dd: output and more.
dc3dd:
-dc3dd: http://sourceforge.net/projects/dc3dd/
+dc3dd: https://sourceforge.net/projects/dc3dd/
dc3dd:
dc3dd:
diff --git a/source/ap/ddrescue/ddrescue.SlackBuild b/source/ap/ddrescue/ddrescue.SlackBuild
index e37c9a159..269409817 100755
--- a/source/ap/ddrescue/ddrescue.SlackBuild
+++ b/source/ap/ddrescue/ddrescue.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=ddrescue
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.lz | rev | cut -f 3- -d . | rev | cut -f 2- -d -)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/diffstat/diffstat.SlackBuild b/source/ap/diffstat/diffstat.SlackBuild
index 0b27a6c05..fa5c4428e 100755
--- a/source/ap/diffstat/diffstat.SlackBuild
+++ b/source/ap/diffstat/diffstat.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=diffstat
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/diffstat/diffstat.url b/source/ap/diffstat/diffstat.url
index 93042284e..9679704e4 100644
--- a/source/ap/diffstat/diffstat.url
+++ b/source/ap/diffstat/diffstat.url
@@ -1 +1 @@
-ftp://ftp.invisible-island.net/diffstat/
+https://invisible-island.net/archives/diffstat/
diff --git a/source/ap/dmidecode/dmidecode.SlackBuild b/source/ap/dmidecode/dmidecode.SlackBuild
index 4a5a5cf12..eafc26ca8 100755
--- a/source/ap/dmidecode/dmidecode.SlackBuild
+++ b/source/ap/dmidecode/dmidecode.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=dmidecode
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/flac/flac.SlackBuild b/source/ap/flac/flac.SlackBuild
index ef935dc05..e1a21fcd2 100755
--- a/source/ap/flac/flac.SlackBuild
+++ b/source/ap/flac/flac.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2018, 2019, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=flac
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -70,7 +70,6 @@ cd $TMP
rm -rf flac-$VERSION
tar xvf $CWD/flac-$VERSION.tar.?z* || exit 1
cd flac-$VERSION
-zcat $CWD/flac.man.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
chown -R root:root .
find . \
@@ -119,18 +118,22 @@ to size.
EOF
# Add a few more docs:
cp -a \
- AUTHORS COPYING* README \
+ AUTHORS* CHANGELOG* COPYING* README* \
$PKG/usr/doc/flac-$VERSION
# Strip files
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-gzip -9 $PKG/usr/man/man?/*.?
+# Compress manual 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
mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/flac-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/ap/flac/flac.man.diff b/source/ap/flac/flac.man.diff
deleted file mode 100644
index 2f31e9590..000000000
--- a/source/ap/flac/flac.man.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./man/flac.1.orig 2007-09-14 10:08:05.000000000 -0500
-+++ ./man/flac.1 2008-03-08 15:48:37.000000000 -0600
-@@ -325,7 +325,8 @@
- .PP
- metaflac(1).
- .PP
--The programs are documented fully by HTML format documentation, available in \fI/usr/share/doc/libflac-doc/html\fR on Debian GNU/Linux systems.
-+The programs are documented fully by HTML format documentation, available in \fI/usr/doc/flac-*.*.*/html\fR on Slackware GNU/Linux systems.
- .SH "AUTHOR"
- .PP
-+The flac program was developed by Josh Coalson.
- This manual page was initially written by Matt Zimmerman <mdz@debian.org> for the Debian GNU/Linux system (but may be used by others). It has been kept up-to-date by the Xiph.org Foundation.
diff --git a/source/ap/ghostscript/dump.unused.internal.libraries.from.sources.sh b/source/ap/ghostscript/dump.unused.internal.libraries.from.sources.sh
index c4f1ce802..5cc9daf00 100755
--- a/source/ap/ghostscript/dump.unused.internal.libraries.from.sources.sh
+++ b/source/ap/ghostscript/dump.unused.internal.libraries.from.sources.sh
@@ -8,8 +8,16 @@ VERSION=${VERSION:-$(echo ghostscript-*.tar.?z* | rev | cut -f 3- -d . | cut -f
tar xf ghostscript-${VERSION}.tar.xz || exit 1
mv ghostscript-${VERSION}.tar.xz ghostscript-${VERSION}.tar.xz.orig
( cd ghostscript-${VERSION} && rm -rf freetype jpeg lcms2 lcms2art/doc/* libpng libtiff png tiff zlib )
-# Dump this huge PDF:
-( cd ghostscript-${VERSION} && find . -name GS9_Color_Management.pdf -exec rm {} \; )
+# Dump huge PDFs:
+( cd ghostscript-${VERSION}
+ find . -name Ghostscript.pdf -exec rm {} \;
+ find . -name GS9_Color_Management.pdf -exec rm {} \;
+ rm -f doc/colormanage/figures/*.pdf
+ rm -f lcms2mt/doc/*
+ rm -f extract/test/*.pdf
+ rm -f toolbin/color/icc_creator/example/duotone.pdf toolbin/color/icc_creator/example/tritone.pdf toolbin/halftone/ETS/ei03.pdf
+ rm -f doc/pclxps/ghostpdl.pdf
+)
tar cf ghostscript-${VERSION}.tar ghostscript-${VERSION}
rm -r ghostscript-${VERSION}
plzip -9 -n 6 ghostscript-${VERSION}.tar
diff --git a/source/ap/ghostscript/ghostscript.SlackBuild b/source/ap/ghostscript/ghostscript.SlackBuild
index 485704b8b..af557de3e 100755
--- a/source/ap/ghostscript/ghostscript.SlackBuild
+++ b/source/ap/ghostscript/ghostscript.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2016, 2017, 2018, 2021 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2016, 2017, 2018, 2021, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -121,6 +121,8 @@ CFLAGS="$SLKCFLAGS" \
--enable-dynamic \
--with-system-libtiff \
--enable-cups \
+ --disable-hidden-visibility \
+ --htmldir=/usr/share/ghostscript/$VERSION/doc \
--program-prefix= \
--program-suffix= \
--build=$ARCH-slackware-linux || exit 1
@@ -195,6 +197,10 @@ mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
ln -sf /usr/share/ghostscript/$VERSION/doc doc
)
+# NOTE: The HTML documentation isn't being properly created in ghostscript-10,
+# and it seems to be due to missing Sphinx components. We'll look into this at
+# some point down the road...
+#
# Version 9.02 fails to install History9.htm, but also the full unabridged
# history of Ghostscript is not required here. See the source for that.
( cd doc
diff --git a/source/ap/ghostscript/ghostscript.url b/source/ap/ghostscript/ghostscript.url
index 31154063b..12b9848de 100644
--- a/source/ap/ghostscript/ghostscript.url
+++ b/source/ap/ghostscript/ghostscript.url
@@ -1 +1,2 @@
https://github.com/ArtifexSoftware/ghostpdl-downloads
+https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10030/ghostscript-10.03.0.tar.xz
diff --git a/source/ap/groff/0006-Revert-upstream-change-of-mapping-special-characters.patch b/source/ap/groff/0006-Revert-upstream-change-of-mapping-special-characters.patch
new file mode 100644
index 000000000..66b6bd450
--- /dev/null
+++ b/source/ap/groff/0006-Revert-upstream-change-of-mapping-special-characters.patch
@@ -0,0 +1,76 @@
+https://src.fedoraproject.org/rpms/groff/raw/rawhide/f/0006-Revert-upstream-change-of-mapping-special-characters.patch
+
+From f4f76740ad4693cb967801e366f1d6410381dd71 Mon Sep 17 00:00:00 2001
+From: groff owner <groff-owner@fedoraproject.org>
+Date: Thu, 2 Nov 2023 13:09:37 +0000
+Subject: [PATCH] Revert upstream change of mapping special characters for
+ UTF-8
+
+Adopt Debian decision: https://salsa.debian.org/debian/groff/-/commit/d5394c68d70e6c5199b01d2522e094c8fd52e64e
+---
+ tmac/man.local | 16 ++++++++++++++++
+ tmac/mdoc.local | 17 ++++++++++++++++-
+ 2 files changed, 32 insertions(+), 1 deletion(-)
+
+diff --git a/tmac/man.local b/tmac/man.local
+index 5daa507..4bed937 100644
+--- a/tmac/man.local
++++ b/tmac/man.local
+@@ -2,6 +2,22 @@
+ .\"
+ .\" Put local modifications to groff_man(7)'s behavior here.
+ .\"
++.\" Adopting Debian's decision to preserve old mapping for UTF-8
++.\" Debian: As of groff 1.23.0, the "-", "'", "`", "^", and "~" input
++.\" characters are mapped to non-Basic Latin code points in output from
++.\" the "utf8" device, for consistency with other output devices such as
++.\" PDF. Unfortunately in practice this still causes far too much
++.\" disruption for innocent users of manual pages who just want to be able
++.\" to search for characters normally, so preserve the old behaviour.
++.\" Comment this out if you want to make sure that manual pages you're
++.\" writing are clear of these problems.
++.if '\*[.T]'utf8' \{\
++. char - \-
++. char ' \[aq]
++. char ` \[ga]
++. char ^ \[ha]
++. char ~ \[ti]
++.\}
+ .\" Change "0" to "1" to enable OSC 8 links on SGR-capable grotty(1)
+ .\" output devices.
+ .if !'\*[.T]'html' \
+diff --git a/tmac/mdoc.local b/tmac/mdoc.local
+index 94688ab..1bb47d6 100644
+--- a/tmac/mdoc.local
++++ b/tmac/mdoc.local
+@@ -2,6 +2,22 @@
+ .\"
+ .\" Put local modifications to groff_mdoc(7)'s behavior here.
+ .\"
++.\" Adopting Debian's decision to preserve old mapping for UTF-8
++.\" Debian: As of groff 1.23.0, the "-", "'", "`", "^", and "~" input
++.\" characters are mapped to non-Basic Latin code points in output from
++.\" the "utf8" device, for consistency with other output devices such as
++.\" PDF. Unfortunately in practice this still causes far too much
++.\" disruption for innocent users of manual pages who just want to be able
++.\" to search for characters normally, so preserve the old behaviour.
++.\" Comment this out if you want to make sure that manual pages you're
++.\" writing are clear of these problems.
++.if '\*[.T]'utf8' \{\
++. char - \-
++. char ' \[aq]
++. char ` \[ga]
++. char ^ \[ha]
++. char ~ \[ti]
++.\}
+ .\" "CW" is not a portable font name, but some man pages use it anyway.
+ .\" Uncomment this to suppress warnings produced by such pages. This
+ .\" test remaps the font to roman ("R") on nroff (terminal) devices. You
+@@ -12,4 +28,3 @@
+ .\" mode: nroff
+ .\" fill-column: 72
+ .\" End:
+-.\" vim: set filetype=groff textwidth=72:
+--
+2.41.0
+
diff --git a/source/ap/groff/groff.SlackBuild b/source/ap/groff/groff.SlackBuild
index 3cdb36f9c..ae3d40735 100755
--- a/source/ap/groff/groff.SlackBuild
+++ b/source/ap/groff/groff.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2005-2008, 2009, 2010, 2011, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2008, 2009, 2010, 2011, 2016, 2018, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=groff
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -80,6 +80,10 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+# Map special characters to enable unescaped hyphens and other characters
+# in man pages:
+zcat $CWD/0006-Revert-upstream-change-of-mapping-special-characters.patch.gz | patch --verbose -p1 || exit 1
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -88,6 +92,8 @@ CXXFLAGS="$SLKCFLAGS" \
--with-appresdir=/etc/X11/app-defaults \
--mandir=/usr/man \
--infodir=/usr/info \
+ --with-x \
+ --with-appdefdir=/etc/X11/app-defaults \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
@@ -116,7 +122,9 @@ fi
rm -rf $PKG/usr/doc/groff-$VERSION/*.ps \
$PKG/usr/doc/groff-$VERSION/examples \
$PKG/usr/doc/groff-$VERSION/html \
- $PKG/usr/doc/groff-$VERSION/pdf
+ $PKG/usr/doc/groff-$VERSION/pdf \
+ $PKG/usr/doc/groff-$VERSION/groff-man-pages* \
+ $PKG/usr/doc/groff-$VERSION/groff.txt
( cd $PKG/usr/man
find . -type f -exec gzip -9 {} \+
@@ -126,12 +134,6 @@ rm -rf $PKG/usr/doc/groff-$VERSION/*.ps \
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*
-# Do not use color ANSI output by default for man pages.
-# A silly "innovation" if ever there was one, sure to break
-# a ton of existing scripts otherwise...
-zcat $CWD/groff.man.mdoc.local.gz >> $PKG/usr/share/groff/site-tmac/man.local
-zcat $CWD/groff.man.mdoc.local.gz >> $PKG/usr/share/groff/site-tmac/mdoc.local
-
( cd $PKG/usr/bin
rm -rf geqn ; ln -sf eqn geqn
rm -rf gindxbib ; ln -sf indxbib gindxbib
@@ -151,4 +153,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/groff-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/ap/groff/groff.man.mdoc.local b/source/ap/groff/groff.man.mdoc.local
deleted file mode 100644
index 4de5a0f1a..000000000
--- a/source/ap/groff/groff.man.mdoc.local
+++ /dev/null
@@ -1,24 +0,0 @@
-.
-.if n \{\
-. \" Map \(oq to ' rather than ` in nroff mode for devices other
-. \" than utf8.
-. if !'\*[.T]'utf8' \
-. tr \[oq]'
-.
-. \" Disable the use of SGR (ANSI colour) escape sequences by
-. \" grotty.
-. if '\V[GROFF_SGR]'' \
-. output x X tty: sgr 0
-.
-. \" Map \- to the Unicode HYPHEN-MINUS character, to make
-. \" searching in man pages easier.
-. if '\*[.T]'utf8' \
-. char \- \N'45'
-.
-. \" Many UTF-8 man pages use "-" instead of "\-" for dashes such as those
-. \" in command-line options. This is a bug in those pages, but if you want
-. \" all hyphens to be rendered as the ASCII-compatible HYPHEN-MINUS
-. \" anyway, then uncomment this.
-. \" if '\*[.T]'utf8' \
-. \" char - \N'45'
-.\}
diff --git a/source/ap/hplip/0003-models.dat-Re-add-drivers-missing-from-3.19.1.patch b/source/ap/hplip/0003-models.dat-Re-add-drivers-missing-from-3.19.1.patch
new file mode 100644
index 000000000..d42d9bd3b
--- /dev/null
+++ b/source/ap/hplip/0003-models.dat-Re-add-drivers-missing-from-3.19.1.patch
@@ -0,0 +1,622 @@
+From: Zdenek Dohnal <zdohnal@redhat.com>
+Date: Fri, 31 Jan 2020 13:50:05 +0100
+Subject: models.dat: Re-add drivers missing from 3.19.1
+
+several printers were removed in 3.19.1, but actually someone still uses them
+reported upstream https://bugs.launchpad.net/hplip/+bug/1843592
+bugzillas 1742949, 1740132, 1739855
+
+Origin: https://src.fedoraproject.org/rpms/hplip/blob/master/f/hplip-missing-drivers.patch
+---
+ Makefile.in | 4 +
+ cups_drv.inc | 2 +
+ data/models/models.dat | 477 ++++++++++++++++++++++++++++++++++++++++++++++++-
+ prnt/drv/hpcups.drv.in | 16 ++
+ 4 files changed, 490 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index aef0fbc..cdee8e7 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1621,6 +1621,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_3050-ps.ppd.gz \
+ ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
++ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
+ ppd/hpcups/hp-laserjet_m1005.ppd.gz \
+ ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
+ ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
+@@ -1738,6 +1739,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_3050-ps.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
++ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
+ ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
+ ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
+ ppd/hpcups/hp-laserjet_tank_250x.ppd.gz \
+@@ -4106,6 +4108,7 @@ dist_unrel_DATA =
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
++@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m1005.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
+@@ -4222,6 +4225,7 @@ dist_unrel_DATA =
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
++@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
+ @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
+diff --git a/cups_drv.inc b/cups_drv.inc
+index a87ea98..e39bde4 100644
+--- a/cups_drv.inc
++++ b/cups_drv.inc
+@@ -411,6 +411,7 @@ cups_ppd_printers = \
+ ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
++ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
+ ppd/hpcups/hp-laserjet_m1005.ppd.gz \
+ ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
+ ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
+@@ -527,6 +528,7 @@ cups_ppd_printers = \
+ ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
++ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
+ ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
+ ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
+diff --git a/data/models/models.dat b/data/models/models.dat
+index 12e9a08..7d9650b 100644
+--- a/data/models/models.dat
++++ b/data/models/models.dat
+@@ -2104,7 +2104,7 @@ usb-pid=411
+ usb-vid=3f0
+ wifi-config=0
+
+-[hp_laserjet_100_colormfp_m175]
++[hp_laserjet_100_colormfp_m175nw]
+ align-type=0
+ clean-type=0
+ color-cal-type=0
+@@ -2119,14 +2119,6 @@ io-support=14
+ job-storage=0
+ linefeed-cal-type=0
+ model1=HP LaserJet 100 Color MFP M175
+-model2=HP LaserJet 100 Color MFP M175a
+-model3=HP LaserJet 100 Color MFP M175b
+-model4=HP LaserJet 100 Color MFP M175c
+-model5=HP LaserJet 100 Color MFP M175e
+-model6=HP LaserJet 100 Color MFP M175nw
+-model7=HP LaserJet 100 Color MFP M175p
+-model8=HP LaserJet 100 Color MFP M175q
+-model9=HP LaserJet 100 Color MFP M175r
+ ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
+ monitor-type=0
+ panel-check-type=0
+@@ -2165,6 +2157,378 @@ usb-pid=62a
+ usb-vid=3f0
+ wifi-config=3
+
++[hp_laserjet_100_colormfp_m175r]
++align-type=0
++clean-type=0
++color-cal-type=0
++copy-type=0
++embedded-server-type=1
++fax-type=0
++fw-download=False
++icon=hp_color_laserjet_cm1312_mfp.png
++io-mfp-mode=3
++io-mode=1
++io-support=14
++job-storage=0
++linefeed-cal-type=0
++model1=HP LaserJet 100 Color MFP M175
++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
++monitor-type=0
++panel-check-type=0
++pcard-type=0
++plugin=1
++plugin-reason=64
++power-settings=0
++pq-diag-type=0
++r-type=0
++r0-agent1-kind=4
++r0-agent1-sku=CE310A
++r0-agent1-type=1
++r0-agent2-kind=4
++r0-agent2-sku=CE311A
++r0-agent2-type=4
++r0-agent3-kind=4
++r0-agent3-sku=CE313A
++r0-agent3-type=5
++r0-agent4-kind=4
++r0-agent4-sku=CE312A
++r0-agent4-type=6
++scan-src=3
++scan-type=5
++status-battery-check=0
++status-dynamic-counters=0
++status-type=10
++support-released=True
++support-subtype=219b2b
++support-type=2
++support-ver=3.11.7
++tech-class=Postscript
++family-class=Undefined
++tech-subclass=Normal
++tech-type=4
++usb-pid=62a
++usb-vid=3f0
++wifi-config=3
++
++[hp_laserjet_100_colormfp_m175q]
++align-type=0
++clean-type=0
++color-cal-type=0
++copy-type=0
++embedded-server-type=1
++fax-type=0
++fw-download=False
++icon=hp_color_laserjet_cm1312_mfp.png
++io-mfp-mode=3
++io-mode=1
++io-support=14
++job-storage=0
++linefeed-cal-type=0
++model1=HP LaserJet 100 Color MFP M175
++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
++monitor-type=0
++panel-check-type=0
++pcard-type=0
++plugin=1
++plugin-reason=64
++power-settings=0
++pq-diag-type=0
++r-type=0
++r0-agent1-kind=4
++r0-agent1-sku=CE310A
++r0-agent1-type=1
++r0-agent2-kind=4
++r0-agent2-sku=CE311A
++r0-agent2-type=4
++r0-agent3-kind=4
++r0-agent3-sku=CE313A
++r0-agent3-type=5
++r0-agent4-kind=4
++r0-agent4-sku=CE312A
++r0-agent4-type=6
++scan-src=3
++scan-type=5
++status-battery-check=0
++status-dynamic-counters=0
++status-type=10
++support-released=True
++support-subtype=219b2b
++support-type=2
++support-ver=3.11.7
++tech-class=Postscript
++family-class=Undefined
++tech-subclass=Normal
++tech-type=4
++usb-pid=62a
++usb-vid=3f0
++wifi-config=3
++
++[hp_laserjet_100_colormfp_m175p]
++align-type=0
++clean-type=0
++color-cal-type=0
++copy-type=0
++embedded-server-type=1
++fax-type=0
++fw-download=False
++icon=hp_color_laserjet_cm1312_mfp.png
++io-mfp-mode=3
++io-mode=1
++io-support=14
++job-storage=0
++linefeed-cal-type=0
++model1=HP LaserJet 100 Color MFP M175
++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
++monitor-type=0
++panel-check-type=0
++pcard-type=0
++plugin=1
++plugin-reason=64
++power-settings=0
++pq-diag-type=0
++r-type=0
++r0-agent1-kind=4
++r0-agent1-sku=CE310A
++r0-agent1-type=1
++r0-agent2-kind=4
++r0-agent2-sku=CE311A
++r0-agent2-type=4
++r0-agent3-kind=4
++r0-agent3-sku=CE313A
++r0-agent3-type=5
++r0-agent4-kind=4
++r0-agent4-sku=CE312A
++r0-agent4-type=6
++scan-src=3
++scan-type=5
++status-battery-check=0
++status-dynamic-counters=0
++status-type=10
++support-released=True
++support-subtype=219b2b
++support-type=2
++support-ver=3.11.7
++tech-class=Postscript
++family-class=Undefined
++tech-subclass=Normal
++tech-type=4
++usb-pid=62a
++usb-vid=3f0
++wifi-config=3
++
++[hp_laserjet_100_colormfp_m175e]
++align-type=0
++clean-type=0
++color-cal-type=0
++copy-type=0
++embedded-server-type=1
++fax-type=0
++fw-download=False
++icon=hp_color_laserjet_cm1312_mfp.png
++io-mfp-mode=3
++io-mode=1
++io-support=2
++job-storage=0
++linefeed-cal-type=0
++model1=HP LaserJet 100 Color MFP M175
++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
++monitor-type=0
++panel-check-type=0
++pcard-type=0
++plugin=1
++plugin-reason=64
++power-settings=0
++pq-diag-type=0
++r-type=0
++r0-agent1-kind=4
++r0-agent1-sku=CE310A
++r0-agent1-type=1
++r0-agent2-kind=4
++r0-agent2-sku=CE311A
++r0-agent2-type=4
++r0-agent3-kind=4
++r0-agent3-sku=CE313A
++r0-agent3-type=5
++r0-agent4-kind=4
++r0-agent4-sku=CE312A
++r0-agent4-type=6
++scan-src=3
++scan-type=5
++status-battery-check=0
++status-dynamic-counters=0
++status-type=10
++support-released=True
++support-subtype=219b2b
++support-type=2
++support-ver=3.11.7
++tech-class=Postscript
++family-class=Undefined
++tech-subclass=Normal
++tech-type=4
++usb-pid=62a
++usb-vid=3f0
++wifi-config=-1
++
++[hp_laserjet_100_colormfp_m175a]
++align-type=0
++clean-type=0
++color-cal-type=0
++copy-type=0
++embedded-server-type=1
++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
++family-ppd=hp-postscript-laserjet-pro.ppd
++fax-type=0
++fw-download=False
++icon=hp_color_laserjet_cm1312_mfp.png
++io-mfp-mode=3
++io-mode=1
++io-support=2
++job-storage=0
++linefeed-cal-type=0
++model1=HP LaserJet 100 Color MFP M175
++monitor-type=0
++panel-check-type=0
++pcard-type=0
++plugin=1
++plugin-reason=64
++power-settings=0
++pq-diag-type=0
++r-type=0
++r0-agent1-kind=4
++r0-agent1-sku=CE310A
++r0-agent1-type=1
++r0-agent2-kind=4
++r0-agent2-sku=CE311A
++r0-agent2-type=4
++r0-agent3-kind=4
++r0-agent3-sku=CE313A
++r0-agent3-type=5
++r0-agent4-kind=4
++r0-agent4-sku=CE312A
++r0-agent4-type=6
++scan-src=3
++scan-type=5
++status-battery-check=0
++status-dynamic-counters=0
++status-type=10
++support-released=True
++support-subtype=219b2b
++support-type=2
++support-ver=3.11.7
++tech-class=Postscript
++family-class=Undefined
++tech-subclass=Normal
++tech-type=4
++usb-pid=62a
++usb-vid=3f0
++wifi-config=-1
++
++[hp_laserjet_100_colormfp_m175c]
++align-type=0
++clean-type=0
++color-cal-type=0
++copy-type=0
++embedded-server-type=1
++fax-type=0
++fw-download=False
++icon=hp_color_laserjet_cm1312_mfp.png
++io-mfp-mode=3
++io-mode=1
++io-support=2
++job-storage=0
++linefeed-cal-type=0
++model1=HP LaserJet 100 Color MFP M175
++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
++monitor-type=0
++panel-check-type=0
++pcard-type=0
++plugin=1
++plugin-reason=64
++power-settings=0
++pq-diag-type=0
++r-type=0
++r0-agent1-kind=4
++r0-agent1-sku=CE310A
++r0-agent1-type=1
++r0-agent2-kind=4
++r0-agent2-sku=CE311A
++r0-agent2-type=4
++r0-agent3-kind=4
++r0-agent3-sku=CE313A
++r0-agent3-type=5
++r0-agent4-kind=4
++r0-agent4-sku=CE312A
++r0-agent4-type=6
++scan-src=3
++scan-type=5
++status-battery-check=0
++status-dynamic-counters=0
++status-type=10
++support-released=True
++support-subtype=219b2b
++support-type=2
++support-ver=3.11.7
++tech-class=Postscript
++family-class=Undefined
++tech-subclass=Normal
++tech-type=4
++usb-pid=62a
++usb-vid=3f0
++wifi-config=-1
++
++[hp_laserjet_100_colormfp_m175b]
++align-type=0
++clean-type=0
++color-cal-type=0
++copy-type=0
++embedded-server-type=1
++fax-type=0
++fw-download=False
++icon=hp_color_laserjet_cm1312_mfp.png
++io-mfp-mode=3
++io-mode=1
++io-support=2
++job-storage=0
++linefeed-cal-type=0
++model1=HP LaserJet 100 Color MFP M175
++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd
++monitor-type=0
++panel-check-type=0
++pcard-type=0
++plugin=1
++plugin-reason=64
++power-settings=0
++pq-diag-type=0
++r-type=0
++r0-agent1-kind=4
++r0-agent1-sku=CE310A
++r0-agent1-type=1
++r0-agent2-kind=4
++r0-agent2-sku=CE311A
++r0-agent2-type=4
++r0-agent3-kind=4
++r0-agent3-sku=CE313A
++r0-agent3-type=5
++r0-agent4-kind=4
++r0-agent4-sku=CE312A
++r0-agent4-type=6
++scan-src=3
++scan-type=5
++status-battery-check=0
++status-dynamic-counters=0
++status-type=10
++support-released=True
++support-subtype=219b2b
++support-type=2
++support-ver=3.11.7
++tech-class=Postscript
++family-class=Undefined
++tech-subclass=Normal
++tech-type=4
++usb-pid=62a
++usb-vid=3f0
++wifi-config=-1
++
+ [officejet_100_mobile_l411]
+ align-type=-1
+ clean-type=1
+@@ -17867,6 +18231,58 @@ usb-pid=2c17
+ usb-vid=3f0
+ wifi-config=0
+
++[hp_laserjet_cp_1025nw]
++align-type=0
++clean-type=0
++color-cal-type=0
++copy-type=0
++embedded-server-type=1
++fax-type=0
++fw-download=False
++icon=hp_color_laserjet_cp2025.png
++io-mfp-mode=1
++io-mode=1
++io-support=14
++job-storage=0
++linefeed-cal-type=0
++model1=HP LaserJet Pro CP 1025nw Color Printer Series
++monitor-type=0
++panel-check-type=0
++pcard-type=0
++plugin=1
++plugin-reason=1
++power-settings=0
++pq-diag-type=0
++r-type=0
++r0-agent1-kind=4
++r0-agent1-sku=CE310A
++r0-agent1-type=1
++r0-agent2-kind=4
++r0-agent2-sku=CE311A
++r0-agent2-type=4
++r0-agent3-kind=4
++r0-agent3-sku=CE313A
++r0-agent3-type=5
++r0-agent4-kind=4
++r0-agent4-sku=CE312A
++r0-agent4-type=6
++scan-src=0
++scan-type=0
++status-battery-check=0
++status-dynamic-counters=0
++status-type=8
++support-released=True
++support-subtype=219b2b
++support-type=2
++support-ver=3.12.4
++tech-class=LJZjsColor
++family-class=LJ-Class4
++tech-subclass=Advanced
++tech-type=4
++usb-pid=112a
++usb-vid=3f0
++wifi-config=3
++
+ [hp_laserjet_cp1025nw]
+ align-type=0
+ clean-type=0
+@@ -18468,6 +18884,49 @@ usb-pid=3011
+ usb-vid=3f0
+ wifi-config=0
+
++[hp_laserjet_professional_p1102w]
++align-type=0
++clean-type=0
++color-cal-type=0
++copy-type=0
++embedded-server-type=0
++fax-type=0
++fw-download=False
++icon=HP_LaserJet_1012.png
++io-mfp-mode=6
++io-mode=1
++io-support=10
++job-storage=0
++linefeed-cal-type=0
++model1=HP LaserJet Professional P1102w Printer
++monitor-type=0
++panel-check-type=0
++pcard-type=0
++plugin=1
++plugin-reason=1
++power-settings=0
++pq-diag-type=0
++r-type=0
++r0-agent1-kind=4
++r0-agent1-sku=85A
++r0-agent1-type=1
++scan-src=0
++scan-type=0
++status-battery-check=0
++status-dynamic-counters=0
++status-type=8
++support-released=True
++support-subtype=219b2b
++support-type=2
++support-ver=3.10.4
++tech-class=LJZjsMono
++family-class=LJ-Class4
++tech-subclass=NoAutoDuplex
++tech-type=3
++usb-pid=32a
++usb-vid=3f0
++wifi-config=3
++
+ [hp_laserjet_professional_p1102]
+ align-type=0
+ clean-type=0
+diff --git a/prnt/drv/hpcups.drv.in b/prnt/drv/hpcups.drv.in
+index 494758d..af65389 100644
+--- a/prnt/drv/hpcups.drv.in
++++ b/prnt/drv/hpcups.drv.in
+@@ -22688,6 +22688,14 @@ Group "RLT/HP Real Life Technologies"
+ Attribute "Product" "" "(HP LaserJet Professional p1102 Printer)"
+ Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)"
+ }
++ {
++ ModelName "HP LaserJet Professional p1102w"
++ Attribute "NickName" "" "HP LaserJet Professional p1102w, hpcups $Version, requires proprietary plugin"
++ Attribute "ShortNickName" "" "HP LaserJet Professional p1102w hpijs"
++ Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1102w;DES:hp laserjet professional p1102w;"
++ PCFileName "hp-laserjet_professional_p1102w.ppd"
++ Attribute "Product" "" "(HP LaserJet Professional p1102w Printer)"
++ }
+ {
+ ModelName "HP LaserJet Professional p1106"
+ Attribute "NickName" "" "HP LaserJet Professional p1106, hpcups $Version"
+@@ -23122,6 +23130,14 @@ Group "RLT/HP Real Life Technologies"
+ PCFileName "hp-laserjet_cp1025nw.ppd"
+ Attribute "Product" "" "(HP LaserJet Pro cp1025nw Color Printer Series)"
+ }
++ {
++ ModelName "HP LaserJet Cp 1025nw"
++ Attribute "NickName" "" "HP LaserJet Cp 1025nw, hpcups $Version, requires proprietary plugin"
++ Attribute "ShortNickName" "" "HP LaserJet Cp 1025nw hpijs"
++ Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp 1025nw;DES:hp laserjet cp 1025nw;"
++ PCFileName "hp-laserjet_cp_1025nw.ppd"
++ Attribute "Product" "" "(HP LaserJet Pro Cp 1025nw Color Printer Series)"
++ }
+ }
+ } // End LJZjsColor (for proprietary plugin)
+
diff --git a/source/ap/hplip/0018-Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i.patch b/source/ap/hplip/0018-Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i.patch
new file mode 100644
index 000000000..b001a26b6
--- /dev/null
+++ b/source/ap/hplip/0018-Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i.patch
@@ -0,0 +1,150 @@
+From: =?utf-8?b?THVib8WhIERvbGXFvmVs?= <lubos@dolezel.info>
+Date: Fri, 22 Jul 2016 09:33:05 +0200
+Subject: Allow non-JPEG scanning on the HP DeskJet 3520 All-in-One and
+ similar devices
+
+LP: #1245578
+---
+ scan/sane/bb_ledm.c | 47 +++++++++++++++++++++++++++++++++++++++++------
+ scan/sane/ledm.c | 12 +++++++-----
+ 2 files changed, 48 insertions(+), 11 deletions(-)
+
+diff --git a/scan/sane/bb_ledm.c b/scan/sane/bb_ledm.c
+index 4b18af8..168a6ab 100644
+--- a/scan/sane/bb_ledm.c
++++ b/scan/sane/bb_ledm.c
+@@ -189,7 +189,7 @@ Keep-Alive: 20\r\nProxy-Connection: keep-alive\r\nCookie: AccessCounter=new\r\n0
+ <YStart>%d</YStart>\
+ <Height>%d</Height>\
+ <Format>%s</Format>\
+-<CompressionQFactor>15</CompressionQFactor>\
++<CompressionQFactor>0</CompressionQFactor>\
+ <ColorSpace>%s</ColorSpace>\
+ <BitDepth>%d</BitDepth>\
+ <InputSource>%s</InputSource>\
+@@ -234,6 +234,38 @@ Keep-Alive: 300\r\nProxy-Connection: keep-alive\r\nCookie: AccessCounter=new\r\n
+ # define JOBSTATE_COMPLETED "<j:JobState>Completed</j:JobState>"
+ # define PRESCANPAGE "<PreScanPage>"
+
++static int parse_status_elements(const char *payload, int size, struct wscn_create_scan_job_response *resp)
++{
++ char tag[512];
++ char value[128];
++ char *tail=(char *)payload;
++
++ while (1)
++ {
++ get_tag(tail, size-(tail-payload), tag, sizeof(tag), &tail);
++
++ if (!tag[0])
++ break;
++
++ if (strncmp(tag, "ImageWidth", 10) == 0)
++ {
++ get_element(tail, size-(tail-payload), value, sizeof(value), &tail);
++ resp->pixels_per_line = strtol(value, NULL, 10);
++ }
++ else if (strncmp(tag, "ImageHeight", 11) == 0)
++ {
++ get_element(tail, size-(tail-payload), value, sizeof(value), &tail);
++ resp->lines = strtol(value, NULL, 10);
++ }
++ else if (strncmp(tag, "BytesPerLine", 12) == 0)
++ {
++ get_element(tail, size-(tail-payload), value, sizeof(value), &tail);
++ resp->bytes_per_line = strtol(value, NULL, 10);
++ }
++ }
++ return 0;
++}
++
+ static int parse_scan_elements(const char *payload, int size, struct wscn_scan_elements *elements)
+ {
+ char tag[512];
+@@ -764,8 +796,7 @@ int bb_get_parameters(struct ledm_session *ps, SANE_Parameters *pp, int option)
+ if (ps->currentCompression == SF_RAW && ps->currentScanMode != CE_GRAY8)
+ {
+ /* Set scan parameters based on scan job response values */
+- //pp->lines = pbb->job.lines;
+- pp->lines = (int)(SANE_UNFIX(ps->effectiveBry - ps->effectiveTly)/MM_PER_INCH*ps->currentResolution);
++ pp->lines = pbb->job.lines;
+ pp->pixels_per_line = pbb->job.pixels_per_line;
+ pp->bytes_per_line = pbb->job.bytes_per_line;
+ }
+@@ -786,8 +817,8 @@ int bb_get_parameters(struct ledm_session *ps, SANE_Parameters *pp, int option)
+ break;
+ case SPO_BEST_GUESS: /* called by xsane & sane_start */
+ /* Set scan parameters based on best guess. */
+- pp->lines = (int)round(SANE_UNFIX(ps->effectiveBry - ps->effectiveTly)/MM_PER_INCH*ps->currentResolution);
+- pp->pixels_per_line = (int)round(SANE_UNFIX(ps->effectiveBrx -ps->effectiveTlx)/MM_PER_INCH*ps->currentResolution);
++ pp->lines = (int)(SANE_UNFIX(ps->effectiveBry - ps->effectiveTly)/MM_PER_INCH*ps->currentResolution);
++ pp->pixels_per_line = ps->image_traits.iPixelsPerRow;
+ pp->bytes_per_line = BYTES_PER_LINE(pp->pixels_per_line, pp->depth * factor);
+ break;
+ default:
+@@ -896,7 +927,7 @@ SANE_Status bb_start_scan(struct ledm_session *ps)
+ (int) ((ps->currentBrx / 5548.7133) - (ps->currentTlx / 5548.7133)),//<Width>
+ (int) (ps->currentTly / 5548.7133),//<YStart>
+ (int) ((ps->currentBry / 5548.7133) - (ps->currentTly / 5548.7133)),//<Height>
+- "Jpeg",//<Format>
++ (ps->currentCompression == SF_RAW) ? "Raw" : "Jpeg", //<Format>
+ (! strcmp(ce_element[ps->currentScanMode], "Color8")) ? "Color" : (! strcmp(ce_element[ps->currentScanMode], "Gray8")) ? "Gray" : "Gray",//<ColorSpace>
+ ((! strcmp(ce_element[ps->currentScanMode], "Color8")) || (! strcmp(ce_element[ps->currentScanMode], "Gray8"))) ? 8: 8,//<BitDepth>
+ ps->currentInputSource == IS_PLATEN ? is_element[1] : is_element[2],//<InputSource>
+@@ -994,6 +1025,7 @@ SANE_Status bb_start_scan(struct ledm_session *ps)
+ _DBG("bb_start_scan() read_http_payload FAILED len=%d buf=%s\n", len, buf);
+ break;
+ }
++
+ //For a new scan, buf must contain <PreScanPage>.
+ if (NULL == strstr(buf,PRESCANPAGE))
+ { //i.e Paper is not present in Scanner
+@@ -1012,6 +1044,9 @@ SANE_Status bb_start_scan(struct ledm_session *ps)
+ stat = SANE_STATUS_GOOD;
+ goto bugout;
+ }
++ // Parse buf here
++ parse_status_elements(buf, len, &pbb->job);
++
+ usleep(500000);//0.5 sec delay
+ }//end while()
+
+diff --git a/scan/sane/ledm.c b/scan/sane/ledm.c
+index ac9d604..a56f534 100644
+--- a/scan/sane/ledm.c
++++ b/scan/sane/ledm.c
+@@ -170,11 +170,11 @@ static int set_scan_mode_side_effects(struct ledm_session *ps, enum COLOR_ENTRY
+ case CE_GRAY8:
+ case CE_COLOR8:
+ default:
+-// ps->compressionList[j] = STR_COMPRESSION_NONE;
+-// ps->compressionMap[j++] = SF_RAW;
++ ps->compressionList[j] = STR_COMPRESSION_NONE;
++ ps->compressionMap[j++] = SF_RAW;
+ ps->compressionList[j] = STR_COMPRESSION_JPEG;
+ ps->compressionMap[j++] = SF_JPEG;
+- ps->currentCompression = SF_JPEG;
++ ps->currentCompression = SF_RAW;
+ ps->option[LEDM_OPTION_JPEG_QUALITY].cap |= SANE_CAP_SOFT_SELECT; /* enable jpeg quality */
+ break;
+ }
+@@ -690,7 +690,7 @@ SANE_Status ledm_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
+ }
+ else
+ { /* Set default. */
+- ps->currentCompression = SF_JPEG;
++ ps->currentCompression = SF_RAW;
+ stat = SANE_STATUS_GOOD;
+ }
+ break;
+@@ -995,7 +995,9 @@ SANE_Status ledm_start(SANE_Handle handle)
+ }
+ }
+ else
+- ipGetImageTraits(ps->ip_handle, NULL, &ps->image_traits); /* get valid image traits */
++ {
++ ipGetOutputTraits(ps->ip_handle, &ps->image_traits); /* get valid image traits */
++ }
+
+ stat = SANE_STATUS_GOOD;
+
diff --git a/source/ap/hplip/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch b/source/ap/hplip/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch
new file mode 100644
index 000000000..f3a8c1732
--- /dev/null
+++ b/source/ap/hplip/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch
@@ -0,0 +1,29 @@
+From 04b5a1ddac1dd90c5a392f23aaf7df42eae32918 Mon Sep 17 00:00:00 2001
+From: Gaurav Sood <gaurav-sood@invalid-email.launchpad.net>
+Date: Thu, 4 May 2017 18:32:08 +0200
+Subject: Fix handling of unicode filenames in sixext.py
+
+LP: #1480152
+Closes: #861731
+---
+ base/sixext.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/base/sixext.py b/base/sixext.py
+index 0bf4fc4f4..311bf72c6 100644
+--- a/base/sixext.py
++++ b/base/sixext.py
+@@ -110,11 +110,11 @@ if PY3:
+
+
+ def to_string_utf8(s):
+- return s.decode("utf-8")
++ return s.decode("utf-8", 'ignore')
+
+
+ def to_string_latin(s):
+- return s.decode("latin-1")
++ return s.decode("latin-1", 'ignore')
+
+
+ def to_unicode(s, enc=None):
diff --git a/source/ap/hplip/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch b/source/ap/hplip/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
index 8d3b4d7bf..7c61d77be 100644
--- a/source/ap/hplip/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
+++ b/source/ap/hplip/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
@@ -1,27 +1,17 @@
-From fa9c0cf1a5db9bf8880b4796d5e3e0da46534e3d Mon Sep 17 00:00:00 2001
-From: Didier Raboud <odyx@debian.org>
-Date: Tue, 21 Aug 2018 18:18:10 +0200
-Subject: Remove all ImageProcessor functionality, which is closed-source
-
----
- Makefile.am | 14 ++------------
- prnt/hpcups/HPCupsFilter.cpp | 21 ---------------------
- 2 files changed, 2 insertions(+), 33 deletions(-)
-
diff --git a/Makefile.am b/Makefile.am
-index 1b097c4f9..8d5d78c9f 100644
+index f65afea..12317dc 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -166,7 +166,7 @@ if !HPLIP_CLASS_DRIVER
+@@ -167,7 +167,7 @@ if !HPLIP_CLASS_DRIVER
dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
endif #HPLIP_CLASS_DRIVER
-dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
+dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
- dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
- if !HPLIP_CLASS_DRIVER
-@@ -594,7 +594,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
+ dist_noinst_DATA += prnt/ipp-usb/HPLIP.conf
+ dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
+@@ -597,7 +597,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
prnt/hpcups/ImageProcessor.h
hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
@@ -30,7 +20,7 @@ index 1b097c4f9..8d5d78c9f 100644
#else
#hpcupsdir = $(cupsfilterdir)
#hpcups_PROGRAMS = hpcups
-@@ -686,16 +686,6 @@ endif #HPLIP_CLASS_DRIVER
+@@ -687,16 +687,6 @@ endif #HPLIP_CLASS_DRIVER
install-data-hook:
if HPLIP_BUILD
@@ -44,70 +34,6 @@ index 1b097c4f9..8d5d78c9f 100644
- chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
- ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
- fi
- if !HPLIP_CLASS_DRIVER
- # If scanner build, add hpaio entry to sane dll.conf.
- if [ "$(scan_build)" = "yes" ]; then \
-diff --git a/prnt/hpcups/HPCupsFilter.cpp b/prnt/hpcups/HPCupsFilter.cpp
-index 5b282d83f..0bacfafac 100644
---- a/prnt/hpcups/HPCupsFilter.cpp
-+++ b/prnt/hpcups/HPCupsFilter.cpp
-@@ -31,7 +31,6 @@
- \*****************************************************************************/
-
- #include "HPCupsFilter.h"
--#include "ImageProcessor.h"
-
- #include <signal.h>
- #include <sys/wait.h>
-@@ -637,16 +636,10 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
-
-
- sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
-- image_processor_t* imageProcessor = imageProcessorCreate();
-
- while (cupsRasterReadHeader2(cups_raster, &cups_header))
- {
-
-- IMAGE_PROCESSOR_ERROR result = imageProcessorStartPage(imageProcessor, &cups_header);
-- if (result != IPE_SUCCESS){
-- dbglog("DEBUG: imageProcessorStartPage failed result = %d\n", result);
-- }
--
- current_page_number++;
-
- if (current_page_number == 1) {
-@@ -745,12 +738,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
- color_raster = rgbRaster;
- black_raster = kRaster;
-
-- result = imageProcessorProcessLine(imageProcessor, m_pPrinterBuffer, cups_header.cupsBytesPerLine);
-- if (result != IPE_SUCCESS){
-- dbglog("DEBUG: imageProcessorProcessLine failed result = %d\n", result);
-- }
--
--
- if ((y == 0) && !is_ljmono) {
- //For ljmono, make sure that first line is not a blankRaster line.Otherwise printer
- //may not skip blank lines before actual data
-@@ -780,12 +767,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
- }
- } // for() loop end
-
-- result = imageProcessorEndPage(imageProcessor);
-- if (result != IPE_SUCCESS){
-- dbglog("DEBUG: imageProcessorEndPage failed result = %d\n", result);
-- }
--
--
- m_Job.NewPage();
- if (err != NO_ERROR) {
- break;
-@@ -800,8 +781,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
- rgbRaster = NULL;
- }
-
-- imageProcessorDestroy(imageProcessor);
--
- unlink(hpPreProcessedRasterFile);
- return ret_status;
- }
+ if [ -d "/usr/share/ipp-usb/quirks/" ]; then \
+ echo "ipp-usb directory exists"; \
+ cp prnt/ipp-usb/HPLIP.conf /usr/share/ipp-usb/quirks/ ; \
diff --git a/source/ap/hplip/hplip.SlackBuild b/source/ap/hplip/hplip.SlackBuild
index f6a66d0d4..ba76a081c 100755
--- a/source/ap/hplip/hplip.SlackBuild
+++ b/source/ap/hplip/hplip.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for hplip
# Copyright 2006-2010 Robby Workman, Northport, Alabama, USA
-# Copyright 2006-2021 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006-2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=hplip
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -86,9 +86,6 @@ zcat $CWD/hplip.python3.shebang.diff.gz | patch -p1 --verbose || exit 1
# Fix the desktop file to show correct icon and category
zcat $CWD/fix-desktop-file.patch.gz | patch -p1 --verbose || exit 1
-# Fix for deprecated python function:
-zcat $CWD/hplip.is_alive.diff.gz | patch -p1 --verbose || exit 1
-
# Choose correct options depending on whether PAM is installed:
if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
unset SHADOW_OPTIONS
@@ -120,6 +117,15 @@ zcat $CWD/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch.gz | p
# Add a cups-2.2.x header since some definitions were moved:
zcat $CWD/0021-Add-include-cups-ppd.h-in-various-places-as-CUPS-2.2.patch.gz | patch -p1 -l --verbose || exit 1
+# Fix for python3:
+zcat $CWD/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch.gz | patch -p1 --verbose || exit 1
+
+# Add back some printer drivers that were removed upstream:
+zcat $CWD/0003-models.dat-Re-add-drivers-missing-from-3.19.1.patch.gz | patch -p1 --verbose || exit 1
+
+# Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i(n-one and similar):
+zcat $CWD/0018-Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i.patch.gz | patch -p1 --verbose || exit 1
+
# autoreconf will fail if these files do not exist:
for file in NEWS README AUTHORS ChangeLog ; do
if [ ! -r $file ]; then
@@ -130,7 +136,7 @@ done
# Needed because Makefile.am was patched:
autoreconf -vif || exit 1
-CFLAGS="$SLKCFLAGS -I/usr/include/python3.8" \
+CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
PYTHON=/usr/bin/python3 \
./configure \
@@ -154,6 +160,7 @@ PYTHON=/usr/bin/python3 \
--enable-foomatic-rip-hplip-install \
--enable-pp-build \
--disable-foomatic-ppd-install \
+ --disable-imageProcessor-build \
--enable-foomatic-drv-install \
--enable-network-build=yes \
--enable-qt5 \
diff --git a/source/ap/hplip/hplip.is_alive.diff b/source/ap/hplip/hplip.is_alive.diff
deleted file mode 100644
index 532da9ff5..000000000
--- a/source/ap/hplip/hplip.is_alive.diff
+++ /dev/null
@@ -1,94 +0,0 @@
-diff --git a/copier/copier.py b/copier/copier.py
-index a595baa..7794f48 100644
---- a/copier/copier.py
-+++ b/copier/copier.py
-@@ -73,13 +73,13 @@ class PMLCopyDevice(device.Device):
-
- def isCopyActive(self):
- if self.copy_thread is not None:
-- return self.copy_thread.isAlive()
-+ return self.copy_thread.is_alive()
- else:
- return False
-
- def waitForCopyThread(self):
- if self.copy_thread is not None and \
-- self.copy_thread.isAlive():
-+ self.copy_thread.is_alive():
-
- self.copy_thread.join()
-
-diff --git a/fax/fax.py b/fax/fax.py
-index 3d69226..0878a64 100644
---- a/fax/fax.py
-+++ b/fax/fax.py
-@@ -478,13 +478,13 @@ class FaxDevice(device.Device):
-
- def isSendFaxActive(self):
- if self.send_fax_thread is not None:
-- return self.send_fax_thread.isAlive()
-+ return self.send_fax_thread.is_alive()
- else:
- return False
-
- def waitForSendFaxThread(self):
- if self.send_fax_thread is not None and \
-- self.send_fax_thread.isAlive():
-+ self.send_fax_thread.is_alive():
-
- try:
- self.send_fax_thread.join()
-diff --git a/fax/pmlfax.py b/fax/pmlfax.py
-index b68ff6a..b1020d0 100644
---- a/fax/pmlfax.py
-+++ b/fax/pmlfax.py
-@@ -179,13 +179,13 @@ class PMLFaxDevice(FaxDevice):
-
- def isUploadLogActive(self):
- if self.upload_log_thread is not None:
-- return self.upload_log_thread.isAlive()
-+ return self.upload_log_thread.is_alive()
- else:
- return False
-
- def waitForUploadLogThread(self):
- if self.upload_log_thread is not None and \
-- self.upload_log_thread.isAlive():
-+ self.upload_log_thread.is_alive():
-
- self.upload_log_thread.join()
-
-diff --git a/scan/sane.py b/scan/sane.py
-index b6c4acd..e8f8db8 100755
---- a/scan/sane.py
-+++ b/scan/sane.py
-@@ -378,14 +378,14 @@ class ScanDevice:
-
- def isScanActive(self):
- if self.scan_thread is not None:
-- return self.scan_thread.isAlive() and self.scan_thread.scan_active
-+ return self.scan_thread.is_alive() and self.scan_thread.scan_active
- else:
- return False
-
-
- def waitForScanDone(self):
- if self.scan_thread is not None and \
-- self.scan_thread.isAlive() and \
-+ self.scan_thread.is_alive() and \
- self.scan_thread.scan_active:
-
- try:
-@@ -398,9 +398,9 @@ class ScanDevice:
- #time.sleep(0.5)
- if self.scan_thread is not None:
- while True:
-- #print self.scan_thread.isAlive()
-+ #print self.scan_thread.is_alive()
- #print self.scan_thread.scan_active
-- if self.scan_thread.isAlive() and \
-+ if self.scan_thread.is_alive() and \
- self.scan_thread.scan_active:
- return
-
-
diff --git a/source/ap/htop/htop.SlackBuild b/source/ap/htop/htop.SlackBuild
index c1469f618..f34285022 100755
--- a/source/ap/htop/htop.SlackBuild
+++ b/source/ap/htop/htop.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=htop
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/inxi/fetch-inxi.sh b/source/ap/inxi/fetch-inxi.sh
index 1f2e2e4b8..8750c0bd5 100755
--- a/source/ap/inxi/fetch-inxi.sh
+++ b/source/ap/inxi/fetch-inxi.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2019, 2020, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,13 +24,13 @@
PKGNAM=inxi
# Pull a stable branch + patches
-BRANCH=${1:-master}
+BRANCH=${1:-3.3.34-1}
# Clear download area:
rm -rf ${PKGNAM}
# Clone repository:
-git clone https://github.com/smxi/${PKGNAM}
+git clone https://codeberg.org/smxi/${PKGNAM}
# checkout $BRANCH:
( cd ${PKGNAM}
@@ -42,11 +42,11 @@ DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
# Cleanup. We're not packing up the whole git repo.
( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
-mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
-tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
-plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
-rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
-touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+mv ${PKGNAM} ${PKGNAM}-${BRANCH}
+tar cf ${PKGNAM}-${BRANCH}.tar ${PKGNAM}-${BRANCH}
+plzip -9 -f ${PKGNAM}-${BRANCH}.tar
+rm -rf ${PKGNAM}-${BRANCH}
+touch -d "$LONGDATE" ${PKGNAM}-${BRANCH}.tar.lz
echo
-echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${BRANCH}.tar.lz"
echo
diff --git a/source/ap/inxi/inxi.SlackBuild b/source/ap/inxi/inxi.SlackBuild
index 2e5e02b07..4f0bf8bb9 100755
--- a/source/ap/inxi/inxi.SlackBuild
+++ b/source/ap/inxi/inxi.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=inxi
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -f 2- -d - | rev | cut -f 3- -d . | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -40,7 +40,7 @@ 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-noarch-$BUILD.txz"
+ echo "$PKGNAM-$(echo $VERSION | tr - _)-noarch-$BUILD.txz"
exit 0
fi
@@ -120,4 +120,4 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-noarch-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$(echo $VERSION | tr - _)-noarch-$BUILD.txz
diff --git a/source/ap/inxi/inxi.url b/source/ap/inxi/inxi.url
new file mode 100644
index 000000000..01af581ec
--- /dev/null
+++ b/source/ap/inxi/inxi.url
@@ -0,0 +1 @@
+https://codeberg.org/smxi/inxi
diff --git a/source/ap/inxi/slack-desc b/source/ap/inxi/slack-desc
index 3b33f582e..f4142d971 100644
--- a/source/ap/inxi/slack-desc
+++ b/source/ap/inxi/slack-desc
@@ -15,5 +15,5 @@ inxi: shows system hardware, CPU, drivers, Xorg, Desktop, Kernel, gcc
inxi: version(s), processes, RAM usage, and a wide variety of other useful
inxi: information.
inxi:
-inxi: Homepage: https://github.com/smxi/inxi
+inxi: Homepage: https://codeberg.org/smxi/inxi
inxi:
diff --git a/source/ap/itstool/itstool.SlackBuild b/source/ap/itstool/itstool.SlackBuild
index 81d819bbc..87b5f962b 100755
--- a/source/ap/itstool/itstool.SlackBuild
+++ b/source/ap/itstool/itstool.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=itstool
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -78,6 +78,7 @@ find . \
-exec chmod 644 {} \+
# Configure:
+PYTHON=/usr/bin/python3 \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/ap/ksh93/doinst.sh b/source/ap/ksh93/doinst.sh
new file mode 100644
index 000000000..1532a8632
--- /dev/null
+++ b/source/ap/ksh93/doinst.sh
@@ -0,0 +1,44 @@
+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
+}
+
+preserve_perms etc/profile.d/ksh93-functions.sh.new
+
+# Backup the old copy if we find one, move the new one in place
+if [ -f bin/ksh ]; then
+ mv bin/ksh bin/ksh.old
+fi
+mv bin/ksh.new bin/ksh
+if [ -f bin/ksh.old ]; then
+ rm -f bin/ksh.old
+fi
+
+# Add entries to /etc/shells if we need them
+if [ ! -r etc/shells ] ; then
+ touch etc/shells
+ chmod 644 etc/shells
+fi
+
+if ! grep -q "/bin/ksh" etc/shells ; then
+ echo "/bin/ksh" >> etc/shells
+fi
diff --git a/source/ap/ksh93/fetch-ksh.sh b/source/ap/ksh93/fetch-ksh.sh
new file mode 100755
index 000000000..27dc34a59
--- /dev/null
+++ b/source/ap/ksh93/fetch-ksh.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2018, 2020, 2021, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+set -o errexit
+
+# Use 1.0 (ksh93u+m) branch. Verify first that there's no better branch with
+# "git branch -a" in the unpruned repo.
+BRANCH=${1:-1.0}
+
+# Clear download area:
+rm -rf ksh
+
+# Clone repository and check out $BRANCH:
+git clone -b "$BRANCH" https://github.com/ksh93/ksh
+
+HEADISAT=$( cd ksh && git log -1 --format=%h )
+DATE="$( cd ksh && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ksh && git log -1 --format=%cd --date=format:%c )"
+VERSION=$(sed -n '/^#define SH_RELEASE_SVER/ { s/.*"\(.*\)".*/\1/; s/-/_/g; p; }' ksh/src/cmd/ksh93/include/version.h)
+# Let's only include the numeric part of the version. Not trying to paper over
+# using an alpha/beta/etc, but it doesn't seem like important information when
+# the date and commit are listed in the tarball name anyway.
+#VERSION=$(sed -n '/^#define SH_RELEASE_SVER/ { s/.*"\(.*\)".*/\1/; s/-/_/g; p; }' ksh/src/cmd/ksh93/include/version.h | cut -f 1 -d _)
+# Cleanup. We're not packing up the whole git repo.
+rm -rf ksh/.git*
+mv ksh "ksh-${VERSION}_${DATE}_${HEADISAT}"
+tar cf "ksh-${VERSION}_${DATE}_${HEADISAT}.tar" "ksh-${VERSION}_${DATE}_${HEADISAT}"
+plzip -9 -n 6 -f "ksh-${VERSION}_${DATE}_${HEADISAT}.tar"
+touch -d "$LONGDATE" ksh-${VERSION}_${DATE}_${HEADISAT}.tar.lz
+rm -rf "ksh-${VERSION}_${DATE}_${HEADISAT}"
+echo
+echo "ksh branch $BRANCH with HEAD at $HEADISAT packaged as ksh-${VERSION}_${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/source/ap/ksh93/get-att-ast.sh b/source/ap/ksh93/get-att-ast.sh
deleted file mode 100755
index af5226ad0..000000000
--- a/source/ap/ksh93/get-att-ast.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-# Copyright 2018, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Use 2020.0.1 branch. Verify first that there's no better branch with
-# "git branch -a" in the unpruned repo.
-BRANCH=${1:-2020.0.1}
-
-# Clear download area:
-rm -rf ast
-
-# Clone repository:
-git clone https://github.com/att/ast
-
-# checkout $BRANCH:
-( cd ast
- git checkout $BRANCH || exit 1
-)
-
-HEADISAT="$( cd ast && git log -1 --format=%h )"
-DATE="$( cd ast && git log -1 --format=%cd --date=format:%Y%m%d )"
-# Cleanup. We're not packing up the whole git repo.
-( cd ast && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
-# No need to package these:
-( cd ast && rm -rf lib/package/tgz )
-mv ast att-ast-${DATE}_${HEADISAT}
-tar cf att-ast-${DATE}_${HEADISAT}.tar att-ast-${DATE}_${HEADISAT}
-plzip -9 -n 6 -f att-ast-${DATE}_${HEADISAT}.tar
-rm -rf att-ast-${DATE}_${HEADISAT}
-echo
-echo "ast branch $BRANCH with HEAD at $HEADISAT packaged as att-ast-${DATE}_${HEADISAT}.tar.lz"
-echo
diff --git a/source/ap/ksh93/ksh93-functions.sh b/source/ap/ksh93/ksh93-functions.sh
new file mode 100644
index 000000000..3cb82bb2a
--- /dev/null
+++ b/source/ap/ksh93/ksh93-functions.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+# If $SHELL is /bin/ksh and this script is executable, enable these functions:
+#
+# pushd Change directory and add to the top of the stack
+# popd Remove the top directory from the stack and change to
+# the previous directory in the stack
+# dirs List directories in the stack
+#
+# In addition, the following functions can be enabled with autoload:
+#
+# mcd Menu-driven cd to directories in the stack
+# cd cd with a number as the first argument changes to the
+# directory in that position in the stack
+# man ksh builtins with the --man option included (typeset, cd,
+# etc.) can be looked up with man and fed through the pager
+# autocd Change directories by typing in the directory name only
+#
+# Calling pushd, popd, dirs or (autoloaded) mcd in ksh will autoload the cd
+# function, overriding the cd builtin. Use "command cd" for the cd builtin.
+
+if [ "$SHELL" = /bin/ksh ]; then
+ FPATH=/usr/share/ksh93-functions
+ export FPATH
+fi
diff --git a/source/ap/ksh93/ksh93.SlackBuild b/source/ap/ksh93/ksh93.SlackBuild
index e63a256bf..af5614be7 100755
--- a/source/ap/ksh93/ksh93.SlackBuild
+++ b/source/ap/ksh93/ksh93.SlackBuild
@@ -1,7 +1,7 @@
-#!/bin/bash
+#!/bin/sh
# Copyright 2001 BSDi, Inc. Concord, CA, USA
# Copyright 2004 Slackware Linux, Inc. Concord, CA, USA
-# Copyright 2007, 2008, 2009, 2010, 2013, 2016, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2013, 2016, 2021, 2022, 2023 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,9 +24,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=ksh93
-SRCNAM=att-ast
-VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-$(echo ksh-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -46,8 +45,6 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
@@ -73,11 +70,11 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
-
cd $TMP
-rm -rf $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
-cd $SRCNAM-$VERSION || exit 1
+
+rm -rf ksh-$VERSION
+tar xvf $CWD/ksh-$VERSION.tar.?z || exit 1
+cd ksh-$VERSION || exit 1
chown -R root:root .
find . \
@@ -86,81 +83,101 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# Configure, build, and install:
-export CC=clang
-export CFLAGS="$SLKCFLAGS"
-mkdir build
-cd build
-meson setup \
- --prefix=/usr \
- --libdir=lib${LIBDIRSUFFIX} \
- --libexecdir=/usr/libexec \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --includedir=/usr/include \
- --datadir=/usr/share \
- --mandir=/usr/man \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --buildtype=release \
- .. || exit 1
- "${NINJA:=ninja}" $NUMJOBS || exit 1
- DESTDIR=$PKG $NINJA install || exit 1
-cd ..
-
-# Stuff we don't ship:
-rm -f $PKG/usr/bin/pty
-rm -f $PKG/usr/bin/shcomp
-
-# Move the shell into /bin:
-mkdir -p $PKG/bin
-mv --verbose $PKG/usr/bin/ksh $PKG/bin/ksh.new || exit 1
-rmdir $PKG/usr/bin || exit 1
-strip --strip-unneeded $PKG/bin/ksh.new
+# ast uses its own architecture labels
+SARCH=$(bin/package host type) || exit
+
+CCFLAGS="$SLKCFLAGS" \
+bin/package make || exit
+
+mkdir -p $PKG/bin $PKG/usr/bin
+cp arch/$SARCH/bin/ksh $PKG/bin/ksh.new || exit
+cp arch/$SARCH/bin/shcomp $PKG/usr/bin/ || exit
+
+# Install ksh93 extra functions:
+mkdir -p $PKG/usr/share/ksh93-functions
+cp -a arch/$SARCH/fun/* $PKG/usr/share/ksh93-functions
+chown root:root $PKG/usr/share/ksh93-functions/*
+chmod 755 $PKG/usr/share/ksh93-functions/*
+
+# Add a profile.d script to enable the above functions upon login.
+# This will not be activated by default - to use it, make the script executable
+# (and it will stay that way through future upgrades):
+mkdir -p $PKG/etc/profile.d
+cp -a $CWD/ksh93-functions.sh $PKG/etc/profile.d/ksh93-functions.sh.new
+chown root:root $PKG/etc/profile.d/ksh93-functions.sh.new
+chmod 644 $PKG/etc/profile.d/ksh93-functions.sh.new
+
+# this may be re-enabled and updated someday when ksh 93u+m
+# regains the ability to build and use dynamic libraries...
+#cp arch/$SARCH/lib/libshell.so.1.1 /usr/lib
+#cp arch/$SARCH/lib/libshell.a /usr/lib
+#cp arch/$SARCH/lib/libast.so.5.4 /usr/lib
+#cp arch/$SARCH/lib/libast.a /usr/lib
+#cp arch/$SARCH/src/cmd/ksh93/cc-g,-fpic/libshell.so.1.1 /usr/lib
+#cp arch/$SARCH/src/cmd/ksh93/cc-g,-fpic/libshell.a /usr/lib
+#cp arch/$SARCH/src/lib/libast/libast.so.5.4 /usr/lib
+#cp arch/$SARCH/src/cmd/ksh93/cc-g,-fpic/libast.a /usr/lib
+
+mkdir -p $PKG/usr/man/man1
+cp src/cmd/ksh93/sh.1 $PKG/usr/man/man1/ksh.1
+LD_LIBRARY_PATH=$PKG/lib $PKG/usr/bin/shcomp --nroff 2> $PKG/usr/man/man1/shcomp.1 || :
+#mkdir -p $PKG/usr/man/man3
+#cp src/cmd/ksh93/shell.3 $PKG/usr/man/man3/
+#cp src/cmd/ksh93/nval.3 $PKG/usr/man/man3/
+( cd $PKG/usr/man/man1 ; ln -sf ksh.1 rksh.1 )
+
+# Compress manual 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
+
+## Install locale files:
+#mkdir -p $PKG/usr/share
+#cp -a share/lib/locale $PKG/usr/share
+#chown -R root:root $PKG/usr/share
+#( cd $PKG/usr/share
+# find . -type d -exec chmod 755 {} \;
+# find . -type f -exec chmod 644 {} \;
+#)
+
+#cp src/cmd/ksh93/include/shell.h /usr/include
+
+# If anyone is actually using the ksh libraries, drop me some mail
+# and explain which libs you use and what they're for. As it is, I
+# don't see a compeling reason to include them, as ksh itself doesn't
+# use them.
+#( cd /usr/lib ; ln -sf libshell.so.1.1 libshell.so )
+#( cd /usr/lib rm -rf libast.so ; ln -sf libast.so.5.4 libast.so )
+
( cd $PKG/bin ; ln -sf ksh rksh )
-if [ -r $PKG/usr/man/man1/ksh.1 ]; then
- gzip -9 $PKG/usr/man/man1/ksh.1
-fi
-( cd $PKG/usr/man/man1 ; ln -sf ksh.1.gz rksh.1.gz )
-mkdir -p $PKG/usr/doc/ksh93-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
( cd src/cmd/ksh93
cp -a COMPATIBILITY* DESIGN* OBSOLETE* README* RELEASE* TYPES* \
- $PKG/usr/doc/ksh93-$VERSION
+ $PKG/usr/doc/$PKGNAM-$VERSION
)
-cp -a CHANGELOG* CONTRIBUTING* README* \
- $PKG/usr/doc/ksh93-$VERSION
-mkdir -p $PKG/usr/doc/ksh93-$VERSION/LICENSE
-cp -a LICENSE $PKG/usr/doc/ksh93-$VERSION/LICENSE/LICENSE
-cp -a lib/package/LICENSES/* $PKG/usr/doc/ksh93-$VERSION/LICENSE
-find . -name "*.def" -exec cp -a "{}" $PKG/usr/doc/ksh93-$VERSION/LICENSE \;
-find . -name "*.lic" -exec cp -a "{}" $PKG/usr/doc/ksh93-$VERSION/LICENSE \;
-
-mkdir -p $PKG/install
-cat <<EOF >> $PKG/install/doinst.sh
-# Backup the old copy if we find one, move the new one in place
-if [ -f bin/ksh ]; then
- mv bin/ksh bin/ksh.old
-fi
-mv bin/ksh.new bin/ksh
-if [ -f bin/ksh.old ]; then
- rm -f bin/ksh.old
-fi
-
-# Add entries to /etc/shells if we need them
-if [ ! -r etc/shells ] ; then
- touch etc/shells
- chmod 644 etc/shells
-fi
-
-if ! grep -q "/bin/ksh" etc/shells ; then
- echo "/bin/ksh" >> etc/shells
-fi
-EOF
+cp -a ANNOUNCE* CHANGELOG* CONTRIBUTING* COPYRIGHT* LICENSE* NEWS* README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES
+cp -a lib/package/LICENSES/* $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES
+find . -name "*.def" -exec cp -a "{}" $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES \;
+find . -name "*.lic" -exec cp -a "{}" $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES \;
+rmdir $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES 2> /dev/null
+chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION
+find $PKG/usr/doc/$PKGNAM-$VERSION -type f -exec chmod 644 "{}" \;
+find $PKG/usr/doc/$PKGNAM-$VERSION -type d -exec chmod 755 "{}" \;
+
+#chmod 755 $PKG/usr/lib/libshell.so.1.1
+#chmod 755 $PKG/usr/lib/libast.so.5.4
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n /tmp/ksh93-$VERSION-$ARCH-$BUILD.txz
-
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/ap/ksh93/slack-desc b/source/ap/ksh93/slack-desc
index a8ef183e7..637775a21 100644
--- a/source/ap/ksh93/slack-desc
+++ b/source/ap/ksh93/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-ksh93: ksh93 (AT&T Korn Shell 93)
+ksh93: ksh93 (KornShell 93u+m)
ksh93:
ksh93: The KornShell language and interactive shell were designed by
ksh93: David G. Korn at AT&T Bell Laboratories. Besides offering a powerful
@@ -15,5 +15,5 @@ ksh93: such features as associative arrays and built in integer math
ksh93: operations. ksh is an excellent choice for system administration
ksh93: scripts and for everyday interactive use.
ksh93:
-ksh93: The official site for the Korn Shell is http://www.kornshell.com/
+ksh93: The site for KornShell 93u+m is https://github.com/ksh93/ksh
ksh93:
diff --git a/source/ap/linuxdoc-tools/ChangeLog.txt b/source/ap/linuxdoc-tools/ChangeLog.txt
index b5e57dc7d..affa8b00a 100644
--- a/source/ap/linuxdoc-tools/ChangeLog.txt
+++ b/source/ap/linuxdoc-tools/ChangeLog.txt
@@ -1,3 +1,22 @@
+Thu Apr 11 08:08:08 UTC 2024
+ linuxdoc-tools 0.9.83, build 1.
+ Stuart Winter <mozes@slackware.com>
+ Version changes:
+ * Upgraded to linuxdoc-tools 0.9.83
+ * Upgraded to gtk-doc 1.34.0
+ * Upgraded to asciidoc 10.2.0
+ Maintenance:
+ * postbuildfixes.sh: Eliminate any remaining empty Python directories
+ after purging Python cache files.
+ Comment asciidoc config file '.new' renaming code, as asciidoc no longer
+ provides such files.
+ * linuxdoc-tools.build: corrected detection of the RiscV64 architecture.
+ Drop 'install/doinst.sh' as it was only used to manage installation of
+ the asciidoc configuration files.
+ * gnome-doc-utils: Refreshed SRPM. Added a build-time configuration patch
+ in preparation for Python 3.12.
+ * docbook-style-xsl: Refreshed SRPM whilst looking for new patches.
+
Thu Aug 12 10:02:06 BST 2021
linuxdoc-tools 0.9.82, build 1.
Stuart Winter <mozes@slackware.com>
diff --git a/source/ap/linuxdoc-tools/arm/build b/source/ap/linuxdoc-tools/arm/build
index 708dd6997..8ec625f74 100755
--- a/source/ap/linuxdoc-tools/arm/build
+++ b/source/ap/linuxdoc-tools/arm/build
@@ -1,15 +1,14 @@
#!/bin/bash
-# armel/build
-# Check package dependencies, set metadata and launch
-# package build script.
-# by Stuart Winter <stuart@armedslack.org>
+# arm/build
+# Build wrapper for ap/linuxdoc-tools on Slackware ARM
+# Stuart Winter <mozes@slackware.com>
#
source /usr/share/slackdev/buildkit.sh
# Package metadata:
export PKGNAM=linuxdoc-tools
-export VERSION=${VERSION:-0.9.82}
+export VERSION=${VERSION:-0.9.83}
export BUILD=${BUILD:-1}
export PKGSERIES=${PKGSERIES:-ap}
export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.txz
diff --git a/source/ap/linuxdoc-tools/linuxdoc-tools.build b/source/ap/linuxdoc-tools/linuxdoc-tools.build
index 7b3962fbb..c68a7b52e 100755
--- a/source/ap/linuxdoc-tools/linuxdoc-tools.build
+++ b/source/ap/linuxdoc-tools/linuxdoc-tools.build
@@ -4,7 +4,7 @@
# Script: linuxdoc-tools.build
# Purpose: Build & install all components that form the linuxdoc-tools
# Slackware Package.
-# Credit: written by Stuart Winter <mozes@slackware.com>
+# Author: Stuart Winter <mozes@slackware.com>, 2005-2024
# with the docbook build code by Jerome Pinot <ngc891@gmail.com>
# and some script code taken from Debian, Red Hat/Fedora &
# Linux From Scratch documentation
@@ -23,7 +23,7 @@
LINUXDOCTOOLSVER=$PKGVERSION
# Bundled package versions:
-ASCIIDOCVER=9.1.0
+ASCIIDOCVER=10.2.0
DSSSLSTYLESHEETSVER=1.79 # docbook-dsssl-*.tar.xz (plus -doc- source archive), not SRPM.
XSLSTYLESHEETSVER=1.79.2 # docbook-style-xsl-*src.rpm ("DocBook XSL Stylesheets" in our ChangeLog.txt)
DOCBOOKUTILSVER=0.6.14
@@ -31,7 +31,7 @@ SGMLDTD3VER=3.1
SGMLDTD4VER=4.5
XMLDTDVER=4.5
GNOMEDOCUTILSVER=0.20.10
-GTKDOCVER=1.33.2
+GTKDOCVER=1.34.0
SGMLSPLVER=1.03ii
OPENJADEVER=1.3.2
OPENSPVER=1.5.2
@@ -53,7 +53,7 @@ case $ARCH in
export LIBDIRSUFFIX="64"
export HOSTTARGET=""
;;
- riscv) export SLKCFLAGS="-O2"
+ riscv64) export SLKCFLAGS="-O2"
export LIBDIRSUFFIX="64"
export HOSTTARGET=""
;;
@@ -78,7 +78,7 @@ function build_asciidoc() {
# Extract source:
cd $TMP
rm -rf asciidoc
-mkdir asciidoc && cd asciidoc
+mkdir -p asciidoc{,-collect} && cd asciidoc
rpm2cpio $CWD/sources/asciidoc-${ASCIIDOCVER}*.src.rpm | cpio -div || exit 1
tar xvf asciidoc-py-*.tar.*z
cd asciidoc-py-*/ || exit 1
@@ -91,12 +91,13 @@ find . \
# Apply patches:
# Assemble patch list from spec file:
-# egrep '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
-#for i in \
-# \
-# \
-# ; do patch -p1 --verbose < ../${i} || exit 1
-#done || exit 1
+# grep -E '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
+for i in \
+ \
+ asciidoc-table-separator.patch \
+ \
+ ; do patch -p1 --verbose < ../${i} || exit 1
+done || exit 1
# Configure:
autoreconf -v
@@ -116,20 +117,34 @@ if [ "$1" = "nodocs" ]; then
echo "*** Built asciidoc without documentation - expect errors above ***"
echo "******************************************************************"
else
- make install docs || exit 1
+ # It's the full build and installation:
+ # Install the documentation into a temporary location so that we can
+ # filter it manually, as it does not respect --mandir and there's a good
+ # amount of superfluous stuff that we don't want to package:
+ make install docs DESTDIR=$TMP/asciidoc-collect || exit 1
+ # "make install" target doesn't include the docs, so we can install
+ # everything else for collection by slacktrack directly:
+ make install || exit 1
+ [ ! -x /usr/bin/asciidoc ] && { echo "*** Error: asciidoc wasn't installed! ***" ; exit 1;}
+
+ # Copy docs:
+ mkdir -vpm755 /usr/doc/asciidoc-$ASCIIDOCVER
+ cp -fav \
+ BUGS.adoc CHANGELOG.adoc COPYRIGHT LICENSE README.md \
+ /usr/doc/asciidoc-$ASCIIDOCVER/
+
+ # Collect what we want and place it into the file system for collection
+ # by slacktrack:
+ pushd $TMP/asciidoc-collect/usr/doc/asciidoc-*/
+ # Man pages:
+ mv -fv doc/{asciidoc.1,a2x.1} /usr/man/man1/
+ rm -fv doc/*.1.txt # wipe the sources
+ # Other stuff:
+ # We're omitting these dirs: dblatex/ docbook-xsl/
+ mv -fv doc images /usr/doc/asciidoc-$ASCIIDOCVER/
+ popd
fi
-find /etc/asciidoc -type f -print0 | xargs -0 chmod 644
-
-# After the build completes, we'll rename the asciidoc config files to '.new'
-# (see 'postbuildfixes.sh'), but for now we need them in place so that the
-# application works, since asciidoc is used to build some of this monolithic package.
-
-# Copy docs:
-mkdir -vpm755 /usr/doc/asciidoc-$ASCIIDOCVER
-cp -fav \
- BUGS.txt CHANGELOG.txt COPY* README.asciidoc \
- /usr/doc/asciidoc-$ASCIIDOCVER/
}
# Build asciidoc without any documentation (man pages). We'll have
@@ -329,9 +344,8 @@ patch --verbose -p1 < ../opensp-nodeids.patch || exit 1
find . -name config.guess -print0 | xargs -0i cp -favv /usr/share/libtool/build-aux/config.guess '{}'
find . -name config.sub -print0 | xargs -0i cp -favv /usr/share/libtool/build-aux/config.sub '{}'
-# Configure without optimisation. OpenSP & OpenJade
-# are sensitive to optimisations, resulting in segfaults,
-# particularly on the ARM platform. Apparently -O1 will work but
+# Configure without optimisation. OpenSP & OpenJade are sensitive to optimisations,
+# resulting in segfaults, particularly on the ARM platform. Apparently -O1 will work but
# let's just leave it as is.
#
# This is configured not to build the documentation. If anybody really needs
@@ -395,7 +409,7 @@ mv -fv /usr/doc/OpenSP /usr/doc/OpenSP-$OPENSPVER
####################### Build OpenJade ############################
# Reference:
-# http://cblfs.cross-lfs.org/index.php/OpenJade
+# https://www.linuxfromscratch.org/blfs/view/stable/pst/openjade.html
# Extract source:
cd $TMP
@@ -528,7 +542,7 @@ find . \
-exec chmod 644 {} \;
# Extract patch set from Spec file:
-# egrep '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
+# grep -E '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
#
# Apply patches:
for i in \
@@ -569,7 +583,7 @@ make || exit 1
make install htmldir=/usr/doc/docbook-utils-$DOCBOOKUTILSVER/html || exit 1
# grep-2.7 demands [[:space:]] instead of [:space:]
-if ! fgrep '[[:space:]]' /usr/bin/jw ; then
+if ! grep -F '[[:space:]]' /usr/bin/jw ; then
sed -i "s/\[:space:\]/\[\[:space:\]\]/g" /usr/bin/jw
fi
@@ -772,10 +786,11 @@ find . \
-exec chmod 644 {} \;
# Assemble patch list from spec file (and see individual level-2 patch outside of 'for' loop below):
-# egrep '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
+# grep -E '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
# Apply patches:
# Note: 'docbook-style-xsl-non-recursive-string-subst.patch' is applied separately
# as it needs a different patch level.
+# We don't apply 'docbook-style-xsl-1.79.2-fix-gtk-doc-multilib.patch'
for i in \
\
docbook-xsl-pagesetup.patch \
@@ -787,7 +802,7 @@ for i in \
\
; do patch --verbose -p1 < ../../$i
done || exit 1
-patch -p2 < ../../docbook-style-xsl-non-recursive-string-subst.patch || exit 1
+patch --verbose -p2 < ../../docbook-style-xsl-non-recursive-string-subst.patch || exit 1
cp -fav ../../docbook-style-xsl.Makefile Makefile
# Switch to UTF-8 files:
@@ -952,8 +967,8 @@ cd $TMP
mkdir linuxdoc-tools && cd linuxdoc-tools
#rpm2cpio $CWD/sources/linuxdoc-tools-${LINUXDOCTOOLSVER}*.src.rpm | cpio -div || exit 1
#tar xvf linuxdoc-tools_$LINUXDOCTOOLSVER.tar.gz
-tar xvf $CWD/sources/linuxdoc-tools_$LINUXDOCTOOLSVER.tar.?z
-cd linuxdoc-tools-$LINUXDOCTOOLSVER || exit 1
+tar xvf $CWD/sources/linuxdoc-tools-$LINUXDOCTOOLSVER.tar.?z
+cd linuxdoc-tools*/ || exit 1
chown -R root:root .
find . \
@@ -974,8 +989,8 @@ export PATH=$( echo $PATH | sed -e 's?:/usr/share/texmf/bin??g' -e 's?/usr/share
# latest linuxdoc-tools source. It simply changed the default page size to 'Letter'.
# Probably not too much to worry about there.
for i in \
- linuxdoc-tools-0.9.20-lib64.patch.xz ; do
- xzcat $CWD/sources/$i | patch -p1 || exit 1
+ linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch.xz ; do
+ xzcat $CWD/sources/$i | patch --verbose -p1 || exit 1
done || exit 1
# Find out what our Vendor perl directory is:
@@ -1048,13 +1063,14 @@ find . \
# Apply patches:
# Extract patch set from Spec file:
-# egrep '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
+# grep -E '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
#
# Note: exclude patch 'gnome-doc-utils-0.14.0-package.patch' as it's an RH bug from 2008
# and we've never included it.
for i in \
\
gnome-doc-utils-0.20.10-python3.patch \
+ gnome-doc-utils-0.20.10-configure-py312.patch \
\
; do patch --verbose -p1 < ../$i
done || exit 1
@@ -1108,12 +1124,12 @@ find . \
# Apply patches:
# Extract patch set from Spec file:
-# egrep '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
+# grep -E '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}'
# Note: exclude patch 'gnome-doc-utils-0.14.0-package.patch' as it's an RH bug from 2008
# and we've never included it.
for i in \
\
- 0001-Partially-revert-a-gtk-doc-1.31-change-that-broke-e-.patch \
+ 74.patch \
\
; do patch --verbose -p1 < ../$i
done || exit 1
@@ -1161,7 +1177,7 @@ cd $TMP
cd XML-NamespaceSupport*/ || exit 1
perl Makefile.PL INSTALLDIRS=vendor
# Make sure the man pages go where we want them:
- fgrep -lr -- '/share/man/' . | xargs sed -i 's?/share/man/?/man/?g'
+ grep -Flr -- '/share/man/' . | xargs sed -i 's?/share/man/?/man/?g'
make || exit 1
make test || exit 1
make pure_install || exit 1 || exit 1 ) || exit 1
@@ -1171,7 +1187,7 @@ cd $TMP
tar xvf XML-SAX-Base-*z
cd XML-SAX-Base-*/ || exit 1
perl Makefile.PL INSTALLDIRS=vendor
- fgrep -lr -- '/share/man/' . | xargs sed -i 's?/share/man/?/man/?g'
+ grep -Flr -- '/share/man/' . | xargs sed -i 's?/share/man/?/man/?g'
make || exit 1
make test || exit 1
make pure_install || exit 1 ) || exit 1
@@ -1183,7 +1199,7 @@ cd $TMP
patch -p1 < ../perl-XML-SAX-0.99-rt20126.patch || exit 1
# Answer Y to updating ParserDetails.ini:
yes | perl Makefile.PL INSTALLDIRS=vendor
- fgrep -lr -- '/share/man/' . | xargs sed -i 's?/share/man/?/man/?g'
+ grep -Flr -- '/share/man/' . | xargs sed -i 's?/share/man/?/man/?g'
make || exit 1
make test || exit 1
make pure_install || exit 1
@@ -1255,4 +1271,4 @@ build_asciidoc
rm -rf /install
mkdir -vpm755 /install
install -vpm644 $CWD/slack-desc /install
-zcat $CWD/doinst.sh.gz > /install/doinst.sh
+#zcat $CWD/doinst.sh.gz > /install/doinst.sh
diff --git a/source/ap/linuxdoc-tools/postbuildfixes.sh b/source/ap/linuxdoc-tools/postbuildfixes.sh
index 9382245cc..e659c3763 100755
--- a/source/ap/linuxdoc-tools/postbuildfixes.sh
+++ b/source/ap/linuxdoc-tools/postbuildfixes.sh
@@ -40,6 +40,11 @@ chmod -R a-s .
# Remove dangling symlinks from /usr/doc. asciidoc-8.6.7 was a culprit.
find usr/doc -xtype l -print0 | xargs -0 rm -fv
+# Delete any empty directories left over by the removal of the orphaned Python cache
+# files. e.g.
+# usr/lib/python3.11/site-packages/mesonbuild/__pycache__/
+find usr/lib*/python* -type d -empty -delete
+
# Ensure some permissions.
# I don't know why but these dirs are installed chmod 1755:
#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/
@@ -75,20 +80,21 @@ find . -name "*.txt" | while read docfile ; do
done
popd
+# Gone in asciidoc-10, but retaining for future reference:
# Allow preservation of conf files for ascii-doc. Some of the other bundled
# packages may benefit from this treatment, but nobody's asked for anything
# other than asciidoc in over 10 years!
-echo "Renaming configuration files to '.conf.new'.."
-find etc/asciidoc -type f -name '*.conf' -print0 | xargs -0i mv -fv '{}' '{}.new'
-# Search for any dangling symlinks created by renaming the files:
-if [ ! -z "$( find -L etc/asciidoc -type l -print )" ]; then
- echo "WARNING: Dangling symlinks in etc/asciidoc -- you need to fix them!"
- find -L etc/asciidoc -type l -print
-fi
-# Populate the doinst.sh script
-find etc/asciidoc -type f -name '*.conf.new' | while read cfile ; do
- echo "config $cfile" >> install/doinst.sh
-done
+#echo "Renaming configuration files to '.conf.new'.."
+##find etc/asciidoc -type f -name '*.conf' -print0 | xargs -0i mv -fv '{}' '{}.new'
+## Search for any dangling symlinks created by renaming the files:
+#if [ ! -z "$( find -L etc/asciidoc -type l -print )" ]; then
+# echo "WARNING: Dangling symlinks in etc/asciidoc -- you need to fix them!"
+# find -L etc/asciidoc -type l -print
+#fi
+## Populate the doinst.sh script
+#find etc/asciidoc -type f -name '*.conf.new' | while read cfile ; do
+# echo "config $cfile" >> install/doinst.sh
+#done
# Now you should manually extract the .t?z
# - check through the install/doinst.sh script;
diff --git a/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.20-lib64.patch b/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.20-lib64.patch
deleted file mode 100644
index 66ff2a31e..000000000
--- a/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.20-lib64.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- linuxdoc-tools-0.9.60/bin/linuxdoc.in.orig
-+++ linuxdoc-tools-0.9.60/bin/linuxdoc.in
-@@ -23,6 +23,7 @@
- $AuxBinDir = "@auxbindir@";
-
- use lib "@pkgdatadir@";
-+use lib "@prefix@/lib64/perl5";
- use lib "@perl5libdir@";
-
- # ---------------------------------------------------------------------
diff --git a/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch b/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch
new file mode 100644
index 000000000..429de253e
--- /dev/null
+++ b/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch
@@ -0,0 +1,25 @@
+From 453fa2fb9d10c2ded7a46d550592f79dd7653e39 Mon Sep 17 00:00:00 2001
+From: Julien Rische <jrische@redhat.com>
+Date: Sun, 5 Feb 2023 23:30:27 +0100
+Subject: [PATCH] [downstream] Added fix to have lib64 in perl path on
+ 64bit machine
+
+---
+ bin/linuxdoc.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/bin/linuxdoc.in b/bin/linuxdoc.in
+index 615ef06..3d3455f 100755
+--- a/bin/linuxdoc.in
++++ b/bin/linuxdoc.in
+@@ -12,6 +12,7 @@ use 5.006;
+ use strict;
+
+ use lib "@pkgdatadir@";
++use lib "@prefix@/lib64/perl5";
+ use lib "@perl5libdir@";
+
+ use LinuxDocTools::Utils qw{ldt_which};
+--
+2.39.1
+
diff --git a/source/ap/linuxdoc-tools/sources/source.download b/source/ap/linuxdoc-tools/sources/source.download
index f51a3dbbd..b86ef7a05 100755
--- a/source/ap/linuxdoc-tools/sources/source.download
+++ b/source/ap/linuxdoc-tools/sources/source.download
@@ -1,36 +1,44 @@
-# Extract all SRPM URLs to make it easy to download.
-# Often there's nothing that's changed between the version of the SRPM we hold, and
-# the upstream version - the version was increased due to a rebuild within Fedora.
-# However, I update our copy of the SRPM regardless, since it eases maintenance.
+# source/ap/linuxdoc-tools/sources/source.download
+# Upstream source references.
+# Stuart Winter <mozes@slackware.com>
#
-# egrep "^wget.*src.rpm$" source.download
-#
-
-# Incase you're wondering why we're using source RPMs, this is because
-# they contain patches required to either fix build or runtime problems,
-# and it's easier to maintain this hunk of a package when the patches &
-# sources are self contained.
+# Incase you're wondering why we're using source RPMs, this is because they contain
+# patches required to either fix build or runtime problems, and it's easier to
+# maintain this hunk of a package when the patches & sources are self contained.
#
# Some sources have been recompressed with LZMA for better compression results.
+#
+# Note: Due to the passage of time, certain SRPM URLs may no longer be accessible,
+# having been stored in the Slackware repository for several years. To minimise
+# unnecessary churn within in the Slackware source tree, we update the SRPMs only
+# when their content has been modified.
# linuxdoc-tools:
+# "In the wild" references:
# https://packages.debian.org/sid/linuxdoc-tools
+# https://src.fedoraproject.org/rpms/linuxdoc-tools
+# https://packages.gentoo.org/packages/app-text/linuxdoc-tools
#
# This provides things such as sgml2txt.
-wget http://deb.debian.org/debian/pool/main/l/linuxdoc-tools/linuxdoc-tools_0.9.82.orig.tar.gz
-# We're taking some patches from here - now separated out:
-#wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/l/linuxdoc-tools-0.9.68-3.fc19.src.rpm
+# This has been recompressed locally.
+wget http://deb.debian.org/debian/pool/main/l/linuxdoc-tools/linuxdoc-tools_0.9.83.orig.tar.gz
+# Applied patches:
+# lib64 patch for perl path:
+# Renamed locally: linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch.xz
+# https://src.fedoraproject.org/rpms/linuxdoc-tools/raw/rawhide/f/0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch
# OpenSP:
# http://openjade.sourceforge.net/download.html
-# wget -c http://kent.dl.sourceforge.net/sourceforge/openjade/OpenSP-1.5.2.tar.gz
+# wget http://kent.dl.sourceforge.net/sourceforge/openjade/OpenSP-1.5.2.tar.gz
#
+# https://src.fedoraproject.org/rpms/opensp
# https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/
#
-wget -c https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/opensp-1.5.2-38.fc35.src.rpm
+wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/opensp-1.5.2-38.fc35.src.rpm
# OpenJade:
# http://openjade.sourceforge.net/
+# https://src.fedoraproject.org/rpms/openjade
# We're only using a gcc 4.6 patch from Fedora's SRPM:
# There are other patches such as "nola" and "nsl", but we aren't using them.
#
@@ -40,69 +48,61 @@ wget -c https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everyt
wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/openjade-1.3.2-59.fc29.src.rpm
# sgmltools-common.
-# It's broken and needs patching so we'll use Fedora's.
-#wget -c ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/sgml-common-0.6.3.tgz
-#
+# https://src.fedoraproject.org/rpms/sgml-common
# https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/s/
#
wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/s/sgml-common-0.6.3-57.fc35.src.rpm
+# Docbook Style DSSSL:
# http://www.linuxfromscratch.org/blfs/view/stable/pst/docbook-dsssl.html
-# Check versions:
+# https://src.fedoraproject.org/rpms/docbook-style-dsssl
# http://sourceforge.net/projects/docbook/files/
-wget -c ftp://ftp.linux.ee/pub/gentoo/distfiles/distfiles/docbook-dsssl-1.79.tar.bz2
-wget -c http://switch.dl.sourceforge.net/sourceforge/docbook/docbook-dsssl-doc-1.79.tar.bz2
-# Why don't they put the patches into the distributed source...???
-#wget -c ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/docbook-utils-0.6.14.tar.gz
-#
-#
+wget http://switch.dl.sourceforge.net/sourceforge/docbook/docbook-dsssl-doc-1.79.tar.bz2
+
+# Docbook-utils:
+# https://src.fedoraproject.org/rpms/docbook-utils
# https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/
#
wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-utils-0.6.14-53.fc35.src.rpm
#
#
-
+# Docbook Style XSL
+#
+# https://src.fedoraproject.org/rpms/docbook-style-xsl
+#
# We use the Fedora "docbook-style-xsl" SRPM for this rather than the original source which is why
# these "docbook-xsl*" files aren't in our sources directory.
-#wget -c "http://downloads.sourceforge.net/project/docbook/docbook-xsl/1.75.2/docbook-xsl-1.75.2.tar.bz2?use_mirror=freefr"
-##wget -c "http://downloads.sourceforge.net/project/docbook/docbook-xsl-doc/1.75.2/docbook-xsl-doc-1.75.2.tar.bz2?use_mirror=freefr"
+#wget "http://downloads.sourceforge.net/project/docbook/docbook-xsl/1.75.2/docbook-xsl-1.75.2.tar.bz2?use_mirror=freefr"
+##wget "http://downloads.sourceforge.net/project/docbook/docbook-xsl-doc/1.75.2/docbook-xsl-doc-1.75.2.tar.bz2?use_mirror=freefr"
#
# https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/
#
-wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-style-xsl-1.79.2-15.fc35.src.rpm
+wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-style-xsl-1.79.2-22.fc40.src.rpm
# http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook.html
-wget -c http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
+wget http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
# https://sourceforge.net/project/showfiles.php?group_id=21935&package_id=16608
#
# gnome-doc-utils, needed to build gtk-doc:
-# Recompressed with LZMA after download.
-# I guess this mirror is out of date now. It's easier to just look at Fedora's development
-# directory anyway :-)
-# wget -c http://ftp.acc.umu.se/pub/GNOME/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.0.tar.bz2
+# https://src.fedoraproject.org/rpms/gnome-doc-utils
#
# https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/
#
-wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gnome-doc-utils-0.20.10-26.fc35.src.rpm
+wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gnome-doc-utils-0.20.10-37.fc40.src.rpm
# gtk-doc:
# There aren't any patches taken from the SRPM, but you can check the version used in Fedora
# and see if any are being applied. We will pull the source archive from the SRPM:
#
+# https://src.fedoraproject.org/rpms/gtk-doc
# https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/
#
-wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gtk-doc-1.33.2-4.fc35.src.rpm
-https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gtk-doc-1.32-2.fc32.src.rpm
-#wget -c http://ftp.acc.umu.se/pub/GNOME/sources/gtk-doc/1.21/gtk-doc-1.21.tar.xz
-# http://git.gnome.org/browse/gtk-doc/commit/?id=2bffebcf9c125f5610b8fb660d42c3c5b9dfd4f0
+wget https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gtk-doc-1.34.0-1.fc41.src.rpm
# xmlto
-# https://fedorahosted.org/releases/x/m/xmlto
-# wget -c --no-check-certificate https://fedorahosted.org/releases/x/m/xmlto/xmlto-0.0.23.tar.bz2
-# Fedora includes a patch, so we'll take it:
-#
+# https://src.fedoraproject.org/rpms/xmlto
# https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/x
#
wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/x/xmlto-0.0.28-12.fc31.src.rpm
@@ -110,43 +110,44 @@ wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everythin
# AsciiDoc
# http://www.methods.co.nz/asciidoc/ <<--- no longer updated. Taking src from Fedora's SRPM.
# Also http://asciidoc.org/
+# https://src.fedoraproject.org/rpms/asciidoc
# Taken some patches from Fedora.
#
-wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/a/asciidoc-9.1.0-3.fc35.src.rpm
+wget https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/a/asciidoc-10.2.0-9.fc40.src.rpm
# docbook2X:
#
# Pre-requisite PERL modules for docbook2X:
# https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/
#
+# https://src.fedoraproject.org/rpms/perl-XML-NamespaceSupport
wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-NamespaceSupport-1.12-15.fc35.src.rpm
+# https://src.fedoraproject.org/rpms/perl-XML-SAX
wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-SAX-1.02-8.fc35.src.rpm
+# https://src.fedoraproject.org/rpms/perl-XML-SAX-Base
wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-SAX-Base-1.09-15.fc35.src.rpm
-
-
# sgmlspl
# http://www.cs.indiana.edu/~asengupt/sgml/SGMLSpm/DOC/HTML/sgmlspl/sgmlspl.html
# http://packages.debian.org/search?keywords=sgmlspl&searchon=names&suite=all&section=all
# There's nothing in the FTP download site at this time, so I'll take it from Debian.
-wget -c http://ftp.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii.orig.tar.gz
-wget -c http://http.debian.net/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii-36.debian.tar.xz
-
+wget http://ftp.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii.orig.tar.gz
+wget http://http.debian.net/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii-36.debian.tar.xz
#
#http://packages.debian.org/sid/docbook2x
# Fedora keep it here, but Debian have a couple of (what look to be useful) patches.
-#wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/d/docbook2X-0.8.8-14.fc19.src.rpm
+#wget ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/d/docbook2X-0.8.8-14.fc19.src.rpm
#
# https://packages.debian.org/search?keywords=docbook2x&searchon=names&suite=all&section=all
-wget -c http://ftp.de.debian.org/debian/pool/main/d/docbook2x/docbook2x_0.8.8.orig.tar.gz
+wget http://ftp.de.debian.org/debian/pool/main/d/docbook2x/docbook2x_0.8.8.orig.tar.gz
wget http://deb.debian.org/debian/pool/main/d/docbook2x/docbook2x_0.8.8-17.debian.tar.xz
# DocBook docs:
# http://www.oasis-open.org/docbook/sgml/
#
-#wget -c http://www.oasis-open.org/docbook/sgml/3.1/docbk31.zip
-#wget -c http://www.docbook.org/sgml/4.5/docbook-4.5.zip
+#wget http://www.oasis-open.org/docbook/sgml/3.1/docbk31.zip
+#wget http://www.docbook.org/sgml/4.5/docbook-4.5.zip
# We use Debian's source because it's more convenient since they package all versions in one archive:
# https://packages.debian.org/search?keywords=docbook&searchon=names&suite=all&section=all
-wget -c http://ftp.de.debian.org/debian/pool/main/d/docbook/docbook_4.5.orig.tar.gz
+wget http://ftp.de.debian.org/debian/pool/main/d/docbook/docbook_4.5.orig.tar.gz
#
diff --git a/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools b/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools
index ff31fa6af..cd280da63 100755
--- a/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools
+++ b/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools
@@ -21,7 +21,7 @@
# Package info:
PKGNAM=linuxdoc-tools
-export PKGVERSION=0.9.82 # use the version of linuxdoc-tools as the package version.
+export PKGVERSION=0.9.83 # use the version of linuxdoc-tools as the package version.
BUILD=${BUILD:-1}
PKGEXT=${PKGEXT:-txz}
@@ -67,8 +67,8 @@ rm -rf ~/.texlive* # incase you were using Texlive rather than Textex-3
# but is slower. However, if you really want extra speed, copy
# this entire package source directory to a temporary location
# and run it from there.
+# This is the recommended option to use during development cycles:
# TFS="--touch-filesystem-faster"
-
TFS="--touch-filesystem-first"
# Launch the build script:
diff --git a/source/ap/lsof/lsof.SlackBuild b/source/ap/lsof/lsof.SlackBuild
index 7baa0a692..ef210a7a3 100755
--- a/source/ap/lsof/lsof.SlackBuild
+++ b/source/ap/lsof/lsof.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=lsof
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/lsof/lsof.url b/source/ap/lsof/lsof.url
index 7e6fefa25..25352f397 100644
--- a/source/ap/lsof/lsof.url
+++ b/source/ap/lsof/lsof.url
@@ -1,2 +1 @@
-https://github.com/lsof-org/lsof/releases
-https://github.com/lsof-org/lsof/archive/4.94.0.tar.gz
+https://github.com/lsof-org/lsof
diff --git a/source/ap/lxc/lxc-slackware.in b/source/ap/lxc/lxc-slackware.in
index 07591cbb8..422fa1d82 100644
--- a/source/ap/lxc/lxc-slackware.in
+++ b/source/ap/lxc/lxc-slackware.in
@@ -131,16 +131,6 @@ none /dev/shm tmpfs defaults 0 0
none /run tmpfs defaults,mode=0755 0 0
EOF
-# Back up the existing init scripts and install the lxc versions:
-( cd $rootfs/etc/rc.d
- cp -a /usr/share/lxc/scripts/slackware/* .
- chmod 755 rc.*.lxc
- for file in rc.*.lxc ; do
- cp -a $(basename $file .lxc) $(basename $file .lxc).orig
- cp -a $file $(basename $file .lxc)
- done
-)
-
# restart rc.inet1 to have routing for the loop device
echo "/etc/rc.d/rc.inet1 restart" >> $rootfs/etc/rc.d/rc.local
@@ -196,6 +186,8 @@ if [ "$arch" == "x86_64" ]; then
PKGMAIN=slackware64
elif [ "$arch" == "arm" ]; then
PKGMAIN=slackwarearm
+elif [ "$arch" == "aarch64" ]; then
+ PKGMAIN=slackwareaarch64
else
PKGMAIN=slackware
fi
@@ -244,11 +236,13 @@ aaa_libraries
aaa_terminfo
bash
bin
+bridge-utils
bzip2
coreutils
cracklib
cyrus-sasl
db48
+dbus
dcron
dhcpcd
dialog
@@ -261,18 +255,21 @@ etc
eudev
findutils
gawk
-gnupg
+gnupg2
gnutls
grep
gzip
hostname
iproute2
+iptables
iputils
kmod
less
libcap-ng
libffi
libmnl
+libnl3
+libpcap
libpwquality
libtasn1
libtirpc
diff --git a/source/ap/lxc/lxc.SlackBuild b/source/ap/lxc/lxc.SlackBuild
index d17479520..69951be5f 100755
--- a/source/ap/lxc/lxc.SlackBuild
+++ b/source/ap/lxc/lxc.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=lxc
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | rev | cut -f 2- -d -)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -96,7 +96,7 @@ python=""
# Configure:
# lua is autodetected
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -Wno-error=incompatible-pointer-types" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
@@ -125,12 +125,6 @@ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
cat $CWD/lxc-slackware.in > $PKG/usr/share/lxc/templates/lxc-slackware
chmod 755 $PKG/usr/share/lxc/templates/lxc-slackware
-# Add the modified Slackware startup scripts:
-mkdir -p $PKG/usr/share/lxc/scripts/slackware
-cp -a $CWD/scripts/*.lxc $PKG/usr/share/lxc/scripts/slackware
-chown root:root $PKG/usr/share/lxc/scripts/slackware/*
-chmod 644 $PKG/usr/share/lxc/scripts/slackware/*
-
# Make the default configuration directories and an empty rootfs folder:
mkdir -p $PKG/var/lib/lxc $PKG/etc/lxc $PKG/var/lib/rootfs-lxc $PKG/var/lib/misc
@@ -144,11 +138,10 @@ mv $PKG/etc/default/lxc $PKG/etc/default/lxc.new
# Install an init script (non executable by default):
install -D -m 0644 $CWD/rc.lxc $PKG/etc/rc.d/rc.lxc.new
-# Put bash completion file in system directory:
-mkdir -p $PKG/usr/share/bash-completion/completions/
-mv $PKG/etc/bash_completion.d/lxc \
- $PKG/usr/share/bash-completion/completions/lxc
-rmdir --parents $PKG/etc/bash_completion.d 2>/dev/null
+# Put bash completion files in system directory:
+mkdir -p $PKG/usr/share/bash-completion/completions
+mv $PKG/etc/bash_completion.d/* $PKG/usr/share/bash-completion/completions
+rm -r $PKG/etc/bash_completion.d
# Strip binaries:
( cd $PKG
@@ -168,7 +161,7 @@ cp -a doc/examples/*.conf $PKG/usr/doc/${PKGNAM}-$VERSION/examples
# Fix up man pages to stop 'man' from barfing a warning:
( cd $PKG/usr/man
- fgrep -lr -- '-*- coding: us-ascii -*-' . | xargs sed -i '/-*- coding: us-ascii -*-/d' )
+ grep -F -lr -- '-*- coding: us-ascii -*-' . | xargs sed -i '/-*- coding: us-ascii -*-/d' )
# Compress and if needed symlink the man pages:
if [ -d $PKG/usr/man ]; then
diff --git a/source/ap/lxc/lxc.url b/source/ap/lxc/lxc.url
new file mode 100644
index 000000000..964c3e09a
--- /dev/null
+++ b/source/ap/lxc/lxc.url
@@ -0,0 +1 @@
+https://linuxcontainers.org/lxc/downloads/
diff --git a/source/ap/lxc/scripts/README b/source/ap/lxc/scripts/README
deleted file mode 100644
index f7d1f5c7d..000000000
--- a/source/ap/lxc/scripts/README
+++ /dev/null
@@ -1,11 +0,0 @@
-These are modified versions of some sysvinit-scripts and network-scripts for
-Slackware for use in a container (although they should also work for a regular
-non-container system as well).
-
-Versions ending in .lxc are the scripts to be used in a container.
-Versions ending in .orig are the scripts from the sysvinit-scripts and
-network-scripts packages that the .lxc scripts are based on.
-
-Any changes made to the original scripts in sysvinit-scripts or network-scripts
-*may* need to be ported to these versions.
-
diff --git a/source/ap/lxc/scripts/rc.6.lxc b/source/ap/lxc/scripts/rc.6.lxc
deleted file mode 100644
index 73923da97..000000000
--- a/source/ap/lxc/scripts/rc.6.lxc
+++ /dev/null
@@ -1,329 +0,0 @@
-#! /bin/sh
-#
-# rc.6 This file is executed by init when it goes into runlevel
-# 0 (halt) or runlevel 6 (reboot). It kills all processes,
-# unmounts file systems and then either halts or reboots.
-#
-# Version: @(#)/etc/rc.d/rc.6 2.47 Sat Jan 13 13:37:26 PST 2001
-#
-# Author: Miquel van Smoorenburg <miquels@drinkel.nl.mugnet.org>
-# Modified by: Patrick J. Volkerding, <volkerdi@slackware.com>
-#
-
-# Set the path.
-PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
-
-# Set $container variable since this is a modified version of rc.6 with
-# changes for running in an lxc container. A check to see if this variable
-# is set will be used to skip parts of the script that we don't want to run
-# in a container. Thanks to Matteo Bernardini <ponce@slackbuilds.org> and
-# Chris Willing for the initial work making this script lxc compatible.
-container="lxc"
-
-# If there are SystemV init scripts for this runlevel, run them.
-if [ -x /etc/rc.d/rc.sysvinit ]; then
- /etc/rc.d/rc.sysvinit
-fi
-
-# Set linefeed mode to avoid staircase effect.
-/bin/stty onlcr
-
-echo "Running shutdown script $0:"
-
-# Find out how we were called.
-case "$0" in
- *0)
- shutdown_command="halt"
- ;;
- *6)
- shutdown_command=reboot
- ;;
- *)
- echo "$0: call me as \"rc.0\" or \"rc.6\" please!"
- exit 1
- ;;
-esac
-
-# Restart init. This prevents init from hanging on to file handles for removed
-# glibc shared libraries in the case that those were upgraded or reinstalled.
-/sbin/telinit u
-
-# Save the system time to the hardware clock using hwclock --systohc.
-# This will also create or update the timestamps in /etc/adjtime.
-if [ -x /sbin/hwclock -a -z "$container" ]; then
- # Check for a broken motherboard RTC clock (where ioports for rtc are
- # unknown) to prevent hwclock causing a hang:
- if ! grep -q " : rtc" /proc/ioports ; then
- CLOCK_OPT="--directisa"
- fi
- if [ /etc/adjtime -nt /etc/hardwareclock ]; then
- if grep -q "^LOCAL" /etc/adjtime ; then
- echo "Saving system time to the hardware clock (localtime)."
- else
- echo "Saving system time to the hardware clock (UTC)."
- fi
- /sbin/hwclock $CLOCK_OPT --systohc
- elif grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
- echo "Saving system time to the hardware clock (UTC)."
- if [ ! -r /etc/adjtime ]; then
- echo "Creating system time correction file /etc/adjtime."
- fi
- /sbin/hwclock $CLOCK_OPT --utc --systohc
- else
- echo "Saving system time to the hardware clock (localtime)."
- if [ ! -r /etc/adjtime ]; then
- echo "Creating system time correction file /etc/adjtime."
- fi
- /sbin/hwclock $CLOCK_OPT --localtime --systohc
- fi
-fi
-
-# Run any local shutdown scripts:
-if [ -x /etc/rc.d/rc.local_shutdown ]; then
- /etc/rc.d/rc.local_shutdown stop
-fi
-
-# Stop the Apache web server:
-if [ -x /etc/rc.d/rc.httpd ]; then
- /etc/rc.d/rc.httpd stop
-fi
-
-# Stop the MySQL database:
-if [ -x /etc/rc.d/rc.mysqld -a -r /var/run/mysql/mysql.pid ]; then
- /etc/rc.d/rc.mysqld stop
-fi
-
-# Stop the Samba server:
-if [ -x /etc/rc.d/rc.samba ]; then
- /etc/rc.d/rc.samba stop
-fi
-
-# Shut down the NFS server:
-if [ -x /etc/rc.d/rc.nfsd ]; then
- /etc/rc.d/rc.nfsd stop
-fi
-
-# Shut down the SSH server:
-if [ -x /etc/rc.d/rc.sshd ]; then
- /etc/rc.d/rc.sshd stop
-fi
-
-# Shut down the SASL authentication daemon:
-if [ -x /etc/rc.d/rc.saslauthd ]; then
- /etc/rc.d/rc.saslauthd stop
-fi
-
-# Shut down OpenLDAP:
-if [ -x /etc/rc.d/rc.openldap ]; then
- /etc/rc.d/rc.openldap stop
-fi
-
-# Stop the haveged entropy daemon:
-if [ -x /etc/rc.d/rc.haveged -a -z "$container" ]; then
- /etc/rc.d/rc.haveged stop
-fi
-
-# Stop D-Bus:
-if [ -x /etc/rc.d/rc.messagebus ]; then
- /etc/rc.d/rc.messagebus stop
-fi
-
-# Kill any processes (typically gam) that would otherwise prevent
-# unmounting NFS volumes:
-unset FUSER_DELAY
-for dir in $(/bin/mount | grep 'type nfs ' | sed -e 's|.* on ||g' | cut -d ' ' -f 1) ; do
- echo "Killing processes holding NFS mount $dir open..."
- # Background this to prevent fuser from also blocking shutdown:
- /usr/bin/fuser -k -M -m "$dir" &
- FUSER_DELAY=5
-done
-# If fuser was run, let it have some delay:
-if [ ! -z "$FUSER_DELAY" ]; then
- sleep $FUSER_DELAY
-fi
-
-# Unmount any NFS, SMB, or CIFS filesystems:
-echo "Unmounting remote filesystems:"
-/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g"
-
-# Try to shut down pppd:
-PS="$(ps ax)"
-if echo "$PS" | /bin/grep -q -w pppd ; then
- if [ -x /usr/sbin/ppp-off ]; then
- /usr/sbin/ppp-off
- fi
-fi
-
-# Shut down YP services:
-if [ -x /etc/rc.d/rc.yp ]; then
- if grep -wq stop /etc/rc.d/rc.yp ; then
- /etc/rc.d/rc.yp stop
- fi
-fi
-
-# Bring down the networking system, but first make sure that this
-# isn't a diskless client with the / partition mounted via NFS:
-if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then
- if [ -x /etc/rc.d/rc.inet1 ]; then
- /etc/rc.d/rc.inet1 stop
- fi
-fi
-
-# In case dhcpcd might have been manually started on the command line,
-# look for the .pid file, and shut dhcpcd down if it's found:
-if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then
- /sbin/dhcpcd -k 1> /dev/null 2> /dev/null
- # A little time for /etc/resolv.conf and/or other files to
- # restore themselves.
- sleep 2
-fi
-
-# Shut down PCMCIA devices:
-if [ -x /etc/rc.d/rc.pcmcia -a -z "$container" ]; then
- /etc/rc.d/rc.pcmcia stop
- # The cards might need a little extra time here to deactivate:
- /bin/sleep 5
-fi
-
-# Turn off process accounting:
-if [ -x /sbin/accton -a -r /var/log/pacct ]; then
- /sbin/accton off
-fi
-
-# Terminate acpid before syslog:
-if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid -a -z "$container" ]; then # quit
- /etc/rc.d/rc.acpid stop
-fi
-
-# Stop udev:
-if [ -x /etc/rc.d/rc.udev -a -z "$container" ]; then
- /etc/rc.d/rc.udev force-stop
-fi
-
-# Kill all remaining processes.
-OMITPIDS="$(for p in $(pgrep mdmon); do echo -o $p; done)" # Don't kill mdmon
-if [ ! "$1" = "fast" ]; then
- echo "Sending all processes the SIGTERM signal."
- /sbin/killall5 -15 $OMITPIDS
- /bin/sleep 5
- echo "Sending all processes the SIGKILL signal."
- /sbin/killall5 -9 $OMITPIDS
-fi
-
-# Try to turn off quota.
-if /bin/grep -q quota /etc/fstab ; then
- if [ -x /sbin/quotaoff -a -z "$container" ]; then
- echo "Turning off filesystem quotas."
- /sbin/quotaoff -a
- fi
-fi
-
-# Carry a random seed between reboots.
-echo "Saving random seed from /dev/urandom in /etc/random-seed."
-# Use the pool size from /proc, or 4096 bits:
-if [ -r /proc/sys/kernel/random/poolsize ]; then
- /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null
-else
- /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
-fi
-/bin/chmod 600 /etc/random-seed
-
-# Before unmounting file systems write a reboot or halt record to wtmp.
-$shutdown_command -w
-
-# Turn off swap:
-if [ -z "$container" ]; then
- echo "Turning off swap."
- /sbin/swapoff -a
- /bin/sync
-fi
-
-# Stop cgmanager and cgproxy:
-if [ -x /etc/rc.d/rc.cgmanager -a -z "$container" ]; then
- /etc/rc.d/rc.cgmanager stop
-fi
-
-if [ -z "$container" ]; then
- echo "Unmounting local file systems:"
- /bin/umount -v -a -t no,proc,sysfs,devtmpfs,fuse.gvfsd-fuse,tmpfs
- # JFS needs a sync here or the / partition cannot be remounted read-only.
- # In spite of this, it seems that a JFS root partition will always be checked
- # (and found to be clean) at boot:
- /bin/sync
- echo "Remounting root filesystem read-only:"
- /bin/mount -v -n -o remount,ro /
-fi
-
-# This never hurts:
-/bin/sync
-
-# Close any volumes opened by cryptsetup:
-if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then
- cat /etc/crypttab | grep -v "^#" | grep -v "^$" | while read line; do
- # NOTE: we only support LUKS formatted volumes (except for swap)!
- LUKS=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f1 -d' ')
- DEV=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f2 -d' ')
- OPTS=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f4 -d' ')
- if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then
- echo "Locking LUKS crypt volume '${LUKS}':"
- /sbin/cryptsetup luksClose ${LUKS}
- elif echo $OPTS | grep -wq swap ; then
- # If any of the volumes was used as encrypted swap,
- # then run mkswap on the underlying device -
- # in case other Linux installations on this computer should use it:
- echo "Erasing encrypted swap '${LUKS}' and restoring normal swap on ${DEV}:"
- /sbin/cryptsetup remove ${LUKS}
- mkswap $DEV
- fi
- done
-fi
-
-# Deactivate LVM volume groups:
-if [ -z "$container" ]; then
- if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
- echo "Deactivating LVM volume groups:"
- /sbin/vgchange -an
- fi
-fi
-
-# This never hurts again (especially since root-on-LVM always fails
-# to deactivate the / logical volume... but at least it was
-# remounted as read-only first)
-/bin/sync
-
-# sleep 3 fixes problems with some hard drives that don't
-# otherwise finish syncing before reboot or poweroff
-/bin/sleep 3
-
-# This is to ensure all processes have completed on SMP machines:
-wait
-
-if [ -x /sbin/genpowerd -a -z "$container" ]; then
- # See if this is a powerfail situation:
- if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
- # Signal UPS to shut off the inverter:
- /sbin/genpowerd -k
- if [ ! $? = 0 ]; then
- echo
- echo "There was an error signaling the UPS."
- echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
- echo "the serial line and UPS type."
- # Wasting 15 seconds of precious power:
- /bin/sleep 15
- fi
- fi
-fi
-
-if [ "$container" = "lxc" ]; then
- # confirm successful shutdown of the container
- echo "LXC container stopped."
-fi
-
-# Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
-if [ "$shutdown_command" = "reboot" ]; then
- echo "Rebooting."
- /sbin/reboot
-else
- /sbin/poweroff
-fi
-
diff --git a/source/ap/lxc/scripts/rc.6.orig b/source/ap/lxc/scripts/rc.6.orig
deleted file mode 100644
index e3986db86..000000000
--- a/source/ap/lxc/scripts/rc.6.orig
+++ /dev/null
@@ -1,319 +0,0 @@
-#! /bin/sh
-#
-# rc.6 This file is executed by init when it goes into runlevel
-# 0 (halt) or runlevel 6 (reboot). It kills all processes,
-# unmounts file systems and then either halts or reboots.
-#
-# Version: @(#)/etc/rc.d/rc.6 2.47 Sat Jan 13 13:37:26 PST 2001
-#
-# Author: Miquel van Smoorenburg <miquels@drinkel.nl.mugnet.org>
-# Modified by: Patrick J. Volkerding, <volkerdi@slackware.com>
-#
-
-# Set the path.
-PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
-
-# If there are SystemV init scripts for this runlevel, run them.
-if [ -x /etc/rc.d/rc.sysvinit ]; then
- /etc/rc.d/rc.sysvinit
-fi
-
-# Set linefeed mode to avoid staircase effect.
-/bin/stty onlcr
-
-echo "Running shutdown script $0:"
-
-# Find out how we were called.
-case "$0" in
- *0)
- shutdown_command="halt"
- ;;
- *6)
- shutdown_command=reboot
- ;;
- *)
- echo "$0: call me as \"rc.0\" or \"rc.6\" please!"
- exit 1
- ;;
-esac
-
-# Restart init. This prevents init from hanging on to file handles for removed
-# glibc shared libraries in the case that those were upgraded or reinstalled.
-/sbin/telinit u
-
-# Save the system time to the hardware clock using hwclock --systohc.
-# This will also create or update the timestamps in /etc/adjtime.
-if [ -x /sbin/hwclock ]; then
- # Check for a broken motherboard RTC clock (where ioports for rtc are
- # unknown) to prevent hwclock causing a hang:
- if ! grep -q " : rtc" /proc/ioports ; then
- CLOCK_OPT="--directisa"
- fi
- if [ /etc/adjtime -nt /etc/hardwareclock ]; then
- if grep -q "^LOCAL" /etc/adjtime ; then
- echo "Saving system time to the hardware clock (localtime)."
- else
- echo "Saving system time to the hardware clock (UTC)."
- fi
- /sbin/hwclock $CLOCK_OPT --systohc
- elif grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
- echo "Saving system time to the hardware clock (UTC)."
- if [ ! -r /etc/adjtime ]; then
- echo "Creating system time correction file /etc/adjtime."
- fi
- /sbin/hwclock $CLOCK_OPT --utc --systohc
- else
- echo "Saving system time to the hardware clock (localtime)."
- if [ ! -r /etc/adjtime ]; then
- echo "Creating system time correction file /etc/adjtime."
- fi
- /sbin/hwclock $CLOCK_OPT --localtime --systohc
- fi
-fi
-
-# Run any local shutdown scripts:
-if [ -x /etc/rc.d/rc.local_shutdown ]; then
- /etc/rc.d/rc.local_shutdown stop
-fi
-
-# Stop the Apache web server:
-if [ -x /etc/rc.d/rc.httpd ]; then
- /etc/rc.d/rc.httpd stop
-fi
-
-# Stop the MySQL database:
-if [ -x /etc/rc.d/rc.mysqld -a -r /var/run/mysql/mysql.pid ]; then
- /etc/rc.d/rc.mysqld stop
-fi
-
-# Stop the Samba server:
-if [ -x /etc/rc.d/rc.samba ]; then
- /etc/rc.d/rc.samba stop
-fi
-
-# Shut down the NFS server:
-if [ -x /etc/rc.d/rc.nfsd ]; then
- /etc/rc.d/rc.nfsd stop
-fi
-
-# Shut down the SSH server:
-if [ -x /etc/rc.d/rc.sshd ]; then
- /etc/rc.d/rc.sshd stop
-fi
-
-# Shut down the SASL authentication daemon:
-if [ -x /etc/rc.d/rc.saslauthd ]; then
- /etc/rc.d/rc.saslauthd stop
-fi
-
-# Shut down OpenLDAP:
-if [ -x /etc/rc.d/rc.openldap ]; then
- /etc/rc.d/rc.openldap stop
-fi
-
-# Stop the haveged entropy daemon:
-if [ -x /etc/rc.d/rc.haveged ]; then
- /etc/rc.d/rc.haveged stop
-fi
-
-# Stop D-Bus:
-if [ -x /etc/rc.d/rc.messagebus ]; then
- /etc/rc.d/rc.messagebus stop
-fi
-
-# Kill any processes (typically gam) that would otherwise prevent
-# unmounting NFS volumes:
-unset FUSER_DELAY
-for dir in $(/bin/mount | grep 'type nfs ' | sed -e 's|.* on ||g' | cut -d ' ' -f 1) ; do
- echo "Killing processes holding NFS mount $dir open..."
- # Background this to prevent fuser from also blocking shutdown:
- /usr/bin/fuser -k -M -m "$dir" &
- FUSER_DELAY=5
-done
-# If fuser was run, let it have some delay:
-if [ ! -z "$FUSER_DELAY" ]; then
- sleep $FUSER_DELAY
-fi
-
-# Unmount any NFS, SMB, or CIFS filesystems:
-echo "Unmounting remote filesystems:"
-/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g"
-
-# Try to shut down pppd:
-PS="$(ps ax)"
-if echo "$PS" | /bin/grep -q -w pppd ; then
- if [ -x /usr/sbin/ppp-off ]; then
- /usr/sbin/ppp-off
- fi
-fi
-
-# Shut down YP services:
-if [ -x /etc/rc.d/rc.yp ]; then
- if grep -wq stop /etc/rc.d/rc.yp ; then
- /etc/rc.d/rc.yp stop
- fi
-fi
-
-# Bring down the networking system, but first make sure that this
-# isn't a diskless client with the / partition mounted via NFS:
-if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then
- if [ -x /etc/rc.d/rc.inet1 ]; then
- /etc/rc.d/rc.inet1 stop
- fi
-fi
-
-# In case dhcpcd might have been manually started on the command line,
-# look for the .pid file, and shut dhcpcd down if it's found:
-if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then
- /sbin/dhcpcd -k 1> /dev/null 2> /dev/null
- # A little time for /etc/resolv.conf and/or other files to
- # restore themselves.
- sleep 2
-fi
-
-# Shut down PCMCIA devices:
-if [ -x /etc/rc.d/rc.pcmcia ]; then
- /etc/rc.d/rc.pcmcia stop
- # The cards might need a little extra time here to deactivate:
- /bin/sleep 5
-fi
-
-# Turn off process accounting:
-if [ -x /sbin/accton -a -r /var/log/pacct ]; then
- /sbin/accton off
-fi
-
-# Terminate acpid before syslog:
-if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit
- /etc/rc.d/rc.acpid stop
-fi
-
-# Stop udev:
-if [ -x /etc/rc.d/rc.udev ]; then
- /etc/rc.d/rc.udev force-stop
-fi
-
-# Kill all remaining processes.
-OMITPIDS="$(for p in $(pgrep mdmon); do echo -o $p; done)" # Don't kill mdmon
-if [ ! "$1" = "fast" ]; then
- echo "Sending all processes the SIGTERM signal."
- /sbin/killall5 -15 $OMITPIDS
- /bin/sleep 5
- echo "Sending all processes the SIGKILL signal."
- /sbin/killall5 -9 $OMITPIDS
-fi
-
-# Try to turn off quota.
-if /bin/grep -q quota /etc/fstab ; then
- if [ -x /sbin/quotaoff ]; then
- echo "Turning off filesystem quotas."
- /sbin/quotaoff -a
- fi
-fi
-
-# Carry a random seed between reboots.
-echo "Saving random seed from /dev/urandom in /etc/random-seed."
-# Use the pool size from /proc, or 4096 bits:
-if [ -r /proc/sys/kernel/random/poolsize ]; then
- /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null
-else
- /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
-fi
-/bin/chmod 600 /etc/random-seed
-
-# Before unmounting file systems write a reboot or halt record to wtmp.
-$shutdown_command -w
-
-# Turn off swap:
-echo "Turning off swap."
-/sbin/swapoff -a
-/bin/sync
-
-# Stop cgmanager and cgproxy:
-if [ -x /etc/rc.d/rc.cgmanager ]; then
- /etc/rc.d/rc.cgmanager stop
-fi
-
-# Umount all tmpfs mounts except /dev/shm and under /run:
-cat /proc/mounts | grep " tmpfs " | grep -v -e " /run " -e " /run/" -e " /dev/shm " | while read mount ; do
- umount --recursive -v $(echo $mount | cut -f 2 -d ' ') 2> /dev/null
-done
-
-# Unmount local file systems:
-echo "Unmounting local file systems:"
-/bin/umount -v -a -t no,proc,sysfs,devtmpfs,fuse.gvfsd-fuse,tmpfs
-
-# JFS needs a sync here or the / partition cannot be remounted read-only.
-# In spite of this, it seems that a JFS root partition will always be checked
-# (and found to be clean) at boot:
-/bin/sync
-
-echo "Remounting root filesystem read-only:"
-/bin/mount -v -n -o remount,ro /
-
-# This never hurts:
-/bin/sync
-
-# Close any volumes opened by cryptsetup:
-if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then
- cat /etc/crypttab | grep -v "^#" | grep -v "^$" | while read line; do
- # NOTE: we only support LUKS formatted volumes (except for swap)!
- LUKS=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f1 -d' ')
- DEV=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f2 -d' ')
- OPTS=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f4 -d' ')
- if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then
- echo "Locking LUKS crypt volume '${LUKS}':"
- /sbin/cryptsetup luksClose ${LUKS}
- elif echo $OPTS | grep -wq swap ; then
- # If any of the volumes was used as encrypted swap,
- # then run mkswap on the underlying device -
- # in case other Linux installations on this computer should use it:
- echo "Erasing encrypted swap '${LUKS}' and restoring normal swap on ${DEV}:"
- /sbin/cryptsetup remove ${LUKS}
- mkswap $DEV
- fi
- done
-fi
-
-# Deactivate LVM volume groups:
-if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
- echo "Deactivating LVM volume groups:"
- /sbin/vgchange -an
-fi
-
-# This never hurts again (especially since root-on-LVM always fails
-# to deactivate the / logical volume... but at least it was
-# remounted as read-only first)
-/bin/sync
-
-# sleep 3 fixes problems with some hard drives that don't
-# otherwise finish syncing before reboot or poweroff
-/bin/sleep 3
-
-# This is to ensure all processes have completed on SMP machines:
-wait
-
-if [ -x /sbin/genpowerd ]; then
- # See if this is a powerfail situation:
- if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
- # Signal UPS to shut off the inverter:
- /sbin/genpowerd -k
- if [ ! $? = 0 ]; then
- echo
- echo "There was an error signaling the UPS."
- echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
- echo "the serial line and UPS type."
- # Wasting 15 seconds of precious power:
- /bin/sleep 15
- fi
- fi
-fi
-
-# Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
-if [ "$shutdown_command" = "reboot" ]; then
- echo "Rebooting."
- /sbin/reboot
-else
- /sbin/poweroff
-fi
-
diff --git a/source/ap/lxc/scripts/rc.M.lxc b/source/ap/lxc/scripts/rc.M.lxc
deleted file mode 100644
index 8cab0150b..000000000
--- a/source/ap/lxc/scripts/rc.M.lxc
+++ /dev/null
@@ -1,416 +0,0 @@
-#!/bin/sh
-#
-# rc.M This file is executed by init(8) when the system is being
-# initialized for one of the "multi user" run levels (i.e.
-# levels 1 through 6). It usually does mounting of file
-# systems et al.
-#
-# Version: @(#)/etc/rc.d/rc.M 2.23 Wed Feb 26 19:20:58 PST 2003
-#
-# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
-# Heavily modified by Patrick Volkerding <volkerdi@slackware.com>
-#
-
-# Tell the viewers what's going to happen.
-echo "Going multiuser..."
-
-# Set $container variable since this is a modified version of rc.M with
-# changes for running in an lxc container. A check to see if this variable
-# is set will be used to skip parts of the script that we don't want to run
-# in a container. Thanks to Matteo Bernardini <ponce@slackbuilds.org> and
-# Chris Willing for the initial work making this script lxc compatible.
-container="lxc"
-
-# Update all the shared library links:
-if [ -x /sbin/ldconfig ]; then
- echo "Updating shared library links: /sbin/ldconfig &"
- /sbin/ldconfig &
-fi
-
-# Call the setterm init script to set screen blanking and power management
-# defaults:
-if [ -x /etc/rc.d/rc.setterm -a -z "$container" ]; then
- /etc/rc.d/rc.setterm
-fi
-
-# Set the hostname.
-if [ -z "$container" ]; then
- if [ -r /etc/HOSTNAME ]; then
- /bin/hostname $(cat /etc/HOSTNAME)
- else
- # fall back on this old default:
- echo "darkstar.example.net" > /etc/HOSTNAME
- /bin/hostname $(cat /etc/HOSTNAME)
- fi
-fi
-
-# Set the permissions on /var/log/dmesg according to whether the kernel
-# permits non-root users to access kernel dmesg information:
-if [ -r /proc/sys/kernel/dmesg_restrict ]; then
- if [ $(cat /proc/sys/kernel/dmesg_restrict) = 1 ]; then
- touch /var/log/dmesg
- chmod 640 /var/log/dmesg
- fi
-else
- touch /var/log/dmesg
- chmod 644 /var/log/dmesg
-fi
-# Save the contents of 'dmesg':
-/bin/dmesg -s 65536 > /var/log/dmesg
-
-# Initialize PCMCIA devices:
-#
-# NOTE: This used to be started near the top of rc.S so that PCMCIA devices
-# could be fsck'ed along with the other drives. This had some unfortunate
-# side effects, however, since root isn't yet read-write, and /var might not
-# even be mounted the .pid files can't be correctly written in /var/run and
-# the pcmcia system can't be correctly shut down. If you want some PCMCIA
-# partition to be mounted at boot (or when the card is inserted) then add
-# the appropriate lines to /etc/pcmcia/scsi.opts.
-#
-# Note that the stuff in /etc/pcmcia/ is only for 2.4.x kernels using
-# 16-bit PCMCIA cards (not 32-bit Cardbus cards!). For example, with a
-# wireless card you might need to set options in /etc/pcmcia OR in
-# /etc/rc.d/rc.wireless.conf, or even in /etc/rc.d/rc.inet1.conf (with
-# extra options if needed for the encryption key, ESSID, etc.)
-#
-# Hopefully this situation will be unified in the future, but for now
-# that's how it is...
-#
-if [ -x /etc/rc.d/rc.pcmcia -a -z "$container" ]; then
- /etc/rc.d/rc.pcmcia start
- # The cards might need a little extra time here to initialize.
- sleep 5
-fi
-
-# Start the system logger.
-if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then
- /etc/rc.d/rc.syslog start
-fi
-
-# Update the X font indexes:
-if [ -x /usr/bin/fc-cache ]; then
- echo "Updating X font indexes: /usr/bin/fc-cache -f &"
- /usr/bin/fc-cache -f &
-fi
-
-# Run rc.udev again. This will start udev if it is not already running
-# (for example, upon return from runlevel 1), otherwise it will trigger it
-# to look for device changes and to generate persistent rules if needed.
-if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then
- if ! grep -wq nohotplug /proc/cmdline ; then
- if [ -x /etc/rc.d/rc.udev -a -z "$container" ]; then
- /etc/rc.d/rc.udev start
- fi
- fi
-fi
-
-# Start the haveged entropy daemon:
-if [ -x /etc/rc.d/rc.haveged -a -z "$container" ]; then
- /etc/rc.d/rc.haveged start
-fi
-
-# Start the rngd entropy daemon:
-if [ -x /etc/rc.d/rc.rngd -a -z "$container" ]; then
- /etc/rc.d/rc.rngd start
-fi
-
-# Initialize the networking hardware.
-if [ -x /etc/rc.d/rc.inet1 ]; then
- /etc/rc.d/rc.inet1
-fi
-
-# Start D-Bus:
-if [ -x /etc/rc.d/rc.messagebus ]; then
- /etc/rc.d/rc.messagebus start
-fi
-
-# Start console-kit-daemon:
-if [ -x /etc/rc.d/rc.consolekit ]; then
- /etc/rc.d/rc.consolekit start
-fi
-
-# Start Bluetooth:
-if [ -x /etc/rc.d/rc.bluetooth ]; then
- /etc/rc.d/rc.bluetooth start
-fi
-
-# Start wicd or networkmanager:
-if [ -x /etc/rc.d/rc.wicd -a -x /usr/sbin/wicd ]; then
- /etc/rc.d/rc.wicd start
-elif [ -x /etc/rc.d/rc.networkmanager ]; then
- /etc/rc.d/rc.networkmanager start
-fi
-
-# Start networking daemons:
-if [ -x /etc/rc.d/rc.inet2 ]; then
- /etc/rc.d/rc.inet2
-fi
-
-# Mount any additional filesystem types that haven't already been mounted:
-mount -a -v 2> /dev/null | grep -v -e "already mounted" -e "ignored" | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done
-
-# Start the Control Script for automounter:
-if [ -x /etc/rc.d/rc.autofs ]; then
- /etc/rc.d/rc.autofs start
-fi
-
-# Start the Network Time Protocol daemon:
-if [ -x /etc/rc.d/rc.ntpd ]; then
- /etc/rc.d/rc.ntpd start
-fi
-
-# Remove stale locks and junk files (must be done after mount -a!)
-/bin/rm -f /var/lock/* /var/spool/uucp/LCK..* /tmp/.X*lock /tmp/.X11-unix/* 2> /dev/null
-
-# Remove stale hunt sockets so the game can start.
-if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then
- echo "Removing your stale hunt sockets from /tmp."
- /bin/rm -f /tmp/hunt*
-fi
-
-# Ensure basic filesystem permissions sanity.
-chmod 755 / 2> /dev/null
-chmod 1777 /tmp /var/tmp
-
-# Start ACPI daemon.
-if [ -x /etc/rc.d/rc.acpid -a -z "$container" ]; then
- /etc/rc.d/rc.acpid start
-fi
-
-# Enable CPU frequency scaling:
-if [ -x /etc/rc.d/rc.cpufreq -a -z "$container" ]; then
- /etc/rc.d/rc.cpufreq start
-fi
-
-# Update any existing icon cache files:
-if find /usr/share/icons -maxdepth 2 2> /dev/null | grep -q icon-theme.cache ; then
- for theme_dir in /usr/share/icons/* ; do
- if [ -r ${theme_dir}/icon-theme.cache ]; then
- echo "Updating icon-theme.cache in ${theme_dir}..."
- /usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null &
- fi
- done
- # This would be a large file and probably shouldn't be there.
- if [ -r /usr/share/icons/icon-theme.cache ]; then
- echo "Deleting icon-theme.cache in /usr/share/icons..."
- #/usr/bin/gtk-update-icon-cache -t -f /usr/share/icons 1> /dev/null 2> /dev/null &
- rm -f /usr/share/icons/icon-theme.cache
- fi
-fi
-
-# Update mime database:
-if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then
- echo "Updating MIME database: /usr/bin/update-mime-database /usr/share/mime &"
- /usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null &
-fi
-
-# Start HAL:
-if [ -x /etc/rc.d/rc.hald ]; then
- /etc/rc.d/rc.hald start
-fi
-
-# Start system-wide PulseAudio daemon (not recommended, nor required in
-# order to use PulseAudio -- see the script for details):
-if [ -x /etc/rc.d/rc.pulseaudio ]; then
- /etc/rc.d/rc.pulseaudio start
-fi
-
-# These GTK+/pango files need to be kept up to date for
-# proper input method, pixbuf loaders, and font support.
-if [ -x /usr/bin/update-gtk-immodules ]; then
- echo "Updating gtk.immodules:"
- echo " /usr/bin/update-gtk-immodules &"
- /usr/bin/update-gtk-immodules > /dev/null 2>&1 &
-fi
-if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then
- echo "Updating gdk-pixbuf.loaders:"
- echo " /usr/bin/update-gdk-pixbuf-loaders &"
- HOME=/root /usr/bin/update-gdk-pixbuf-loaders > /dev/null 2>&1 &
-fi
-if [ -x /usr/bin/update-pango-querymodules ]; then
- echo "Updating pango.modules:"
- echo " /usr/bin/update-pango-querymodules &"
- /usr/bin/update-pango-querymodules > /dev/null 2>&1 &
-fi
-if [ -x /usr/bin/glib-compile-schemas ]; then
- echo "Compiling GSettings XML schema files:"
- echo " /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas &"
- /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 &
-fi
-
-# Start dnsmasq, a simple DHCP/DNS server:
-if [ -x /etc/rc.d/rc.dnsmasq ]; then
- /etc/rc.d/rc.dnsmasq start
-fi
-
-# Start snmpd:
-if [ -x /etc/rc.d/rc.snmpd ]; then
- /etc/rc.d/rc.snmpd start
-fi
-
-# Start the print spooling system. This will usually be LPRng (lpd) or CUPS.
-if [ -x /etc/rc.d/rc.cups ]; then
- # Start CUPS:
- /etc/rc.d/rc.cups start
-elif [ -x /etc/rc.d/rc.lprng ]; then
- # Start LPRng (lpd):
- /etc/rc.d/rc.lprng start
-fi
-
-# Start netatalk. (a file/print server for Macs using Appletalk)
-if [ -x /etc/rc.d/rc.atalk ]; then
- /etc/rc.d/rc.atalk start
-fi
-
-# Start smartd, which monitors the status of S.M.A.R.T. compatible
-# hard drives and reports any problems:
-if [ -x /etc/rc.d/rc.smartd -a -z "$container" ]; then
- /etc/rc.d/rc.smartd start
-fi
-
-# Monitor the UPS with genpowerd.
-# To use this, uncomment this section and edit your settings in
-# /etc/genpowerd.conf (serial device, UPS type, etc). For more information,
-# see "man genpowerd" or the extensive documentation in the
-# /usr/doc/genpower-*/ directory.
-# You'll also need to configure a similar block in /etc/rc.d/rc.6 if you want
-# support for stopping the UPS's inverter after the machine halts.
-#if [ -x /sbin/genpowerd ]; then
-# echo "Starting genpowerd daemon..."
-# /sbin/genpowerd
-#fi
-
-# Turn on process accounting. To enable process accounting, make sure the
-# option for BSD process accounting is enabled in your kernel, and then
-# create the file /var/log/pacct (touch /var/log/pacct). By default, process
-# accounting is not enabled (since /var/log/pacct does not exist). This is
-# because the log file can get VERY large.
-if [ -x /sbin/accton -a -r /var/log/pacct ]; then
- chmod 640 /var/log/pacct
- /sbin/accton /var/log/pacct
-fi
-
-# Start crond (Dillon's crond):
-if [ -x /etc/rc.d/rc.crond ]; then
- /etc/rc.d/rc.crond start
-fi
-
-# Start atd (manages jobs scheduled with 'at'):
-if [ -x /etc/rc.d/rc.atd ]; then
- /etc/rc.d/rc.atd start
-fi
-
-# Slackware-Mini-Quota-HOWTO:
-# To really activate quotas, you'll need to add 'usrquota' and/or 'grpquota' to
-# the appropriate partitions as listed in /etc/fstab. Here's an example:
-#
-# /dev/hda2 /home ext3 defaults,usrquota 1 1
-#
-# You'll then need to setup initial quota files at the top of the partitions
-# to support quota, like this:
-# touch /home/aquota.user /home/aquota.group
-# chmod 600 /home/aquota.user /home/aquota.group
-#
-# Then, reboot to activate the system.
-# To edit user quotas, use 'edquota'. See 'man edquota'. Also, the
-# official Quota Mini-HOWTO has lots of useful information. That can be found
-# here: /usr/doc/Linux-HOWTOs/Quota
-
-# Check quotas and then turn quota system on:
-if grep -q quota /etc/fstab ; then
- for quotafs in $(awk '/quota/ {print $2}' /etc/fstab) ; do
- /bin/rm -f $quotafs/{a,}quota.{group,user}.new
- done
- if [ -x /sbin/quotacheck ]; then
- echo "Checking filesystem quotas: /sbin/quotacheck -avugm"
- /sbin/quotacheck -avugm
- fi
- if [ -x /sbin/quotaon ]; then
- echo "Activating filesystem quotas: /sbin/quotaon -avug"
- /sbin/quotaon -avug
- fi
-fi
-
-# Start the SASL authentication server. This provides SASL
-# authentication services for sendmail/postfix:
-if [ -x /etc/rc.d/rc.saslauthd ]; then
- /etc/rc.d/rc.saslauthd start
-fi
-
-# Start the mail server. Try the rc.sendmail script first, then try rc.postfix.
-if [ -x /etc/rc.d/rc.sendmail -a -x usr/sbin/makemap ]; then
- /etc/rc.d/rc.sendmail start
-elif [ -x /etc/rc.d/rc.postfix -a -x usr/sbin/postdrop ]; then
- /etc/rc.d/rc.postfix start
-fi
-
-# Load ALSA (sound) defaults:
-if [ -x /etc/rc.d/rc.alsa -a -z "$container" ]; then
- /etc/rc.d/rc.alsa
-fi
-
-# Load a custom screen font if the user has an rc.font script.
-if [ -x /etc/rc.d/rc.font ]; then
- /etc/rc.d/rc.font
-fi
-
-# Load a custom keymap if the user has an rc.keymap script.
-if [ -x /etc/rc.d/rc.keymap ]; then
- /etc/rc.d/rc.keymap
-fi
-
-# Start the MySQL database:
-if [ -x /etc/rc.d/rc.mysqld ]; then
- /etc/rc.d/rc.mysqld start
-fi
-
-# Start Apache web server:
-if [ -x /etc/rc.d/rc.httpd ]; then
- /etc/rc.d/rc.httpd start
-fi
-
-# Start OpenLDAP:
-if [ -x /etc/rc.d/rc.openldap ]; then
- /etc/rc.d/rc.openldap start
-fi
-
-# Start Dovecot:
-if [ -x /etc/rc.d/rc.dovecot ]; then
- /etc/rc.d/rc.dovecot start
-fi
-
-# Start Samba (a file/print server for Win95/NT machines).
-# Samba can be started in /etc/inetd.conf instead.
-if [ -x /etc/rc.d/rc.samba ]; then
- /etc/rc.d/rc.samba start
-fi
-
-# Start the GPM mouse server:
-if [ -x /etc/rc.d/rc.gpm ]; then
- /etc/rc.d/rc.gpm start
-fi
-
-# Start the Icecream scheduler. This needs to run on only one machine that is
-# part of the compile cluster:
-if [ -x /etc/rc.d/rc.icecc-scheduler ]; then
- /etc/rc.d/rc.icecc-scheduler start
-fi
-
-# Start the Icecream daemon. This needs to run on every machine that will be
-# part of the compile cluster (including the machine running the scheduler):
-if [ -x /etc/rc.d/rc.iceccd ]; then
- /etc/rc.d/rc.iceccd start
-fi
-
-# If there are SystemV init scripts for this runlevel, run them.
-if [ -x /etc/rc.d/rc.sysvinit ]; then
- /etc/rc.d/rc.sysvinit
-fi
-
-# Start the local setup procedure.
-if [ -x /etc/rc.d/rc.local ]; then
- /etc/rc.d/rc.local
-fi
-
-# All done.
diff --git a/source/ap/lxc/scripts/rc.M.orig b/source/ap/lxc/scripts/rc.M.orig
deleted file mode 100644
index cfffb8ec4..000000000
--- a/source/ap/lxc/scripts/rc.M.orig
+++ /dev/null
@@ -1,407 +0,0 @@
-#!/bin/sh
-#
-# rc.M This file is executed by init(8) when the system is being
-# initialized for one of the "multi user" run levels (i.e.
-# levels 1 through 6). It usually does mounting of file
-# systems et al.
-#
-# Version: @(#)/etc/rc.d/rc.M 2.23 Wed Feb 26 19:20:58 PST 2003
-#
-# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
-# Heavily modified by Patrick Volkerding <volkerdi@slackware.com>
-#
-
-# Tell the viewers what's going to happen.
-echo "Going multiuser..."
-
-# Update all the shared library links:
-if [ -x /sbin/ldconfig ]; then
- echo "Updating shared library links: /sbin/ldconfig &"
- /sbin/ldconfig &
-fi
-
-# Call the setterm init script to set screen blanking and power management
-# defaults:
-if [ -x /etc/rc.d/rc.setterm ]; then
- /etc/rc.d/rc.setterm
-fi
-
-# Set the hostname.
-if [ -r /etc/HOSTNAME ]; then
- /bin/hostname $(cat /etc/HOSTNAME)
-else
- # fall back on this old default:
- echo "darkstar.example.net" > /etc/HOSTNAME
- /bin/hostname $(cat /etc/HOSTNAME)
-fi
-
-# Set the permissions on /var/log/dmesg according to whether the kernel
-# permits non-root users to access kernel dmesg information:
-if [ -r /proc/sys/kernel/dmesg_restrict ]; then
- if [ $(cat /proc/sys/kernel/dmesg_restrict) = 1 ]; then
- touch /var/log/dmesg
- chmod 640 /var/log/dmesg
- fi
-else
- touch /var/log/dmesg
- chmod 644 /var/log/dmesg
-fi
-# Save the contents of 'dmesg':
-/bin/dmesg -s 65536 > /var/log/dmesg
-
-# Initialize PCMCIA devices:
-#
-# NOTE: This used to be started near the top of rc.S so that PCMCIA devices
-# could be fsck'ed along with the other drives. This had some unfortunate
-# side effects, however, since root isn't yet read-write, and /var might not
-# even be mounted the .pid files can't be correctly written in /var/run and
-# the pcmcia system can't be correctly shut down. If you want some PCMCIA
-# partition to be mounted at boot (or when the card is inserted) then add
-# the appropriate lines to /etc/pcmcia/scsi.opts.
-#
-# Note that the stuff in /etc/pcmcia/ is only for 2.4.x kernels using
-# 16-bit PCMCIA cards (not 32-bit Cardbus cards!). For example, with a
-# wireless card you might need to set options in /etc/pcmcia OR in
-# /etc/rc.d/rc.wireless.conf, or even in /etc/rc.d/rc.inet1.conf (with
-# extra options if needed for the encryption key, ESSID, etc.)
-#
-# Hopefully this situation will be unified in the future, but for now
-# that's how it is...
-#
-if [ -x /etc/rc.d/rc.pcmcia ]; then
- /etc/rc.d/rc.pcmcia start
- # The cards might need a little extra time here to initialize.
- sleep 5
-fi
-
-# Start the system logger.
-if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then
- /etc/rc.d/rc.syslog start
-fi
-
-# Update the X font indexes:
-if [ -x /usr/bin/fc-cache ]; then
- echo "Updating X font indexes: /usr/bin/fc-cache -f &"
- /usr/bin/fc-cache -f &
-fi
-
-# Run rc.udev again. This will start udev if it is not already running
-# (for example, upon return from runlevel 1), otherwise it will trigger it
-# to look for device changes and to generate persistent rules if needed.
-if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then
- if ! grep -wq nohotplug /proc/cmdline ; then
- if [ -x /etc/rc.d/rc.udev ]; then
- /etc/rc.d/rc.udev start
- fi
- fi
-fi
-
-# Start the haveged entropy daemon:
-if [ -x /etc/rc.d/rc.haveged ]; then
- /etc/rc.d/rc.haveged start
-fi
-
-# Start the rngd entropy daemon:
-if [ -x /etc/rc.d/rc.rngd ]; then
- /etc/rc.d/rc.rngd start
-fi
-
-# Initialize the networking hardware.
-if [ -x /etc/rc.d/rc.inet1 ]; then
- /etc/rc.d/rc.inet1
-fi
-
-# Start D-Bus:
-if [ -x /etc/rc.d/rc.messagebus ]; then
- /etc/rc.d/rc.messagebus start
-fi
-
-# Start console-kit-daemon:
-if [ -x /etc/rc.d/rc.consolekit ]; then
- /etc/rc.d/rc.consolekit start
-fi
-
-# Start Bluetooth:
-if [ -x /etc/rc.d/rc.bluetooth ]; then
- /etc/rc.d/rc.bluetooth start
-fi
-
-# Start wicd or networkmanager:
-if [ -x /etc/rc.d/rc.wicd -a -x /usr/sbin/wicd ]; then
- /etc/rc.d/rc.wicd start
-elif [ -x /etc/rc.d/rc.networkmanager ]; then
- /etc/rc.d/rc.networkmanager start
-fi
-
-# Start networking daemons:
-if [ -x /etc/rc.d/rc.inet2 ]; then
- /etc/rc.d/rc.inet2
-fi
-
-# Mount any additional filesystem types that haven't already been mounted:
-mount -a -v 2> /dev/null | grep -v -e "already mounted" -e "ignored" | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done
-
-# Start the Control Script for automounter:
-if [ -x /etc/rc.d/rc.autofs ]; then
- /etc/rc.d/rc.autofs start
-fi
-
-# Start the Network Time Protocol daemon:
-if [ -x /etc/rc.d/rc.ntpd ]; then
- /etc/rc.d/rc.ntpd start
-fi
-
-# Remove stale locks and junk files (must be done after mount -a!)
-/bin/rm -f /var/lock/* /var/spool/uucp/LCK..* /tmp/.X*lock /tmp/.X11-unix/* 2> /dev/null
-
-# Remove stale hunt sockets so the game can start.
-if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then
- echo "Removing your stale hunt sockets from /tmp."
- /bin/rm -f /tmp/hunt*
-fi
-
-# Ensure basic filesystem permissions sanity.
-chmod 755 / 2> /dev/null
-chmod 1777 /tmp /var/tmp
-
-# Start ACPI daemon.
-if [ -x /etc/rc.d/rc.acpid ]; then
- /etc/rc.d/rc.acpid start
-fi
-
-# Enable CPU frequency scaling:
-if [ -x /etc/rc.d/rc.cpufreq ]; then
- /etc/rc.d/rc.cpufreq start
-fi
-
-# Update any existing icon cache files:
-if find /usr/share/icons -maxdepth 2 2> /dev/null | grep -q icon-theme.cache ; then
- for theme_dir in /usr/share/icons/* ; do
- if [ -r ${theme_dir}/icon-theme.cache ]; then
- echo "Updating icon-theme.cache in ${theme_dir}..."
- /usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null &
- fi
- done
- # This would be a large file and probably shouldn't be there.
- if [ -r /usr/share/icons/icon-theme.cache ]; then
- echo "Deleting icon-theme.cache in /usr/share/icons..."
- #/usr/bin/gtk-update-icon-cache -t -f /usr/share/icons 1> /dev/null 2> /dev/null &
- rm -f /usr/share/icons/icon-theme.cache
- fi
-fi
-
-# Update mime database:
-if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then
- echo "Updating MIME database: /usr/bin/update-mime-database /usr/share/mime &"
- /usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null &
-fi
-
-# Start HAL:
-if [ -x /etc/rc.d/rc.hald ]; then
- /etc/rc.d/rc.hald start
-fi
-
-# Start system-wide PulseAudio daemon (not recommended, nor required in
-# order to use PulseAudio -- see the script for details):
-if [ -x /etc/rc.d/rc.pulseaudio ]; then
- /etc/rc.d/rc.pulseaudio start
-fi
-
-# These GTK+/pango files need to be kept up to date for
-# proper input method, pixbuf loaders, and font support.
-if [ -x /usr/bin/update-gtk-immodules ]; then
- echo "Updating gtk.immodules:"
- echo " /usr/bin/update-gtk-immodules &"
- /usr/bin/update-gtk-immodules > /dev/null 2>&1 &
-fi
-if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then
- echo "Updating gdk-pixbuf.loaders:"
- echo " /usr/bin/update-gdk-pixbuf-loaders &"
- HOME=/root /usr/bin/update-gdk-pixbuf-loaders > /dev/null 2>&1 &
-fi
-if [ -x /usr/bin/update-pango-querymodules ]; then
- echo "Updating pango.modules:"
- echo " /usr/bin/update-pango-querymodules &"
- /usr/bin/update-pango-querymodules > /dev/null 2>&1 &
-fi
-if [ -x /usr/bin/glib-compile-schemas ]; then
- echo "Compiling GSettings XML schema files:"
- echo " /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas &"
- /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 &
-fi
-
-# Start dnsmasq, a simple DHCP/DNS server:
-if [ -x /etc/rc.d/rc.dnsmasq ]; then
- /etc/rc.d/rc.dnsmasq start
-fi
-
-# Start snmpd:
-if [ -x /etc/rc.d/rc.snmpd ]; then
- /etc/rc.d/rc.snmpd start
-fi
-
-# Start the print spooling system. This will usually be LPRng (lpd) or CUPS.
-if [ -x /etc/rc.d/rc.cups ]; then
- # Start CUPS:
- /etc/rc.d/rc.cups start
-elif [ -x /etc/rc.d/rc.lprng ]; then
- # Start LPRng (lpd):
- /etc/rc.d/rc.lprng start
-fi
-
-# Start netatalk. (a file/print server for Macs using Appletalk)
-if [ -x /etc/rc.d/rc.atalk ]; then
- /etc/rc.d/rc.atalk start
-fi
-
-# Start smartd, which monitors the status of S.M.A.R.T. compatible
-# hard drives and reports any problems:
-if [ -x /etc/rc.d/rc.smartd ]; then
- /etc/rc.d/rc.smartd start
-fi
-
-# Monitor the UPS with genpowerd.
-# To use this, uncomment this section and edit your settings in
-# /etc/genpowerd.conf (serial device, UPS type, etc). For more information,
-# see "man genpowerd" or the extensive documentation in the
-# /usr/doc/genpower-*/ directory.
-# You'll also need to configure a similar block in /etc/rc.d/rc.6 if you want
-# support for stopping the UPS's inverter after the machine halts.
-#if [ -x /sbin/genpowerd ]; then
-# echo "Starting genpowerd daemon..."
-# /sbin/genpowerd
-#fi
-
-# Turn on process accounting. To enable process accounting, make sure the
-# option for BSD process accounting is enabled in your kernel, and then
-# create the file /var/log/pacct (touch /var/log/pacct). By default, process
-# accounting is not enabled (since /var/log/pacct does not exist). This is
-# because the log file can get VERY large.
-if [ -x /sbin/accton -a -r /var/log/pacct ]; then
- chmod 640 /var/log/pacct
- /sbin/accton /var/log/pacct
-fi
-
-# Start crond (Dillon's crond):
-if [ -x /etc/rc.d/rc.crond ]; then
- /etc/rc.d/rc.crond start
-fi
-
-# Start atd (manages jobs scheduled with 'at'):
-if [ -x /etc/rc.d/rc.atd ]; then
- /etc/rc.d/rc.atd start
-fi
-
-# Slackware-Mini-Quota-HOWTO:
-# To really activate quotas, you'll need to add 'usrquota' and/or 'grpquota' to
-# the appropriate partitions as listed in /etc/fstab. Here's an example:
-#
-# /dev/hda2 /home ext3 defaults,usrquota 1 1
-#
-# You'll then need to setup initial quota files at the top of the partitions
-# to support quota, like this:
-# touch /home/aquota.user /home/aquota.group
-# chmod 600 /home/aquota.user /home/aquota.group
-#
-# Then, reboot to activate the system.
-# To edit user quotas, use 'edquota'. See 'man edquota'. Also, the
-# official Quota Mini-HOWTO has lots of useful information. That can be found
-# here: /usr/doc/Linux-HOWTOs/Quota
-
-# Check quotas and then turn quota system on:
-if grep -q quota /etc/fstab ; then
- for quotafs in $(awk '/quota/ {print $2}' /etc/fstab) ; do
- /bin/rm -f $quotafs/{a,}quota.{group,user}.new
- done
- if [ -x /sbin/quotacheck ]; then
- echo "Checking filesystem quotas: /sbin/quotacheck -avugm"
- /sbin/quotacheck -avugm
- fi
- if [ -x /sbin/quotaon ]; then
- echo "Activating filesystem quotas: /sbin/quotaon -avug"
- /sbin/quotaon -avug
- fi
-fi
-
-# Start the SASL authentication server. This provides SASL
-# authentication services for sendmail/postfix:
-if [ -x /etc/rc.d/rc.saslauthd ]; then
- /etc/rc.d/rc.saslauthd start
-fi
-
-# Start the mail server. Try the rc.sendmail script first, then try rc.postfix.
-if [ -x /etc/rc.d/rc.sendmail -a -x usr/sbin/makemap ]; then
- /etc/rc.d/rc.sendmail start
-elif [ -x /etc/rc.d/rc.postfix -a -x usr/sbin/postdrop ]; then
- /etc/rc.d/rc.postfix start
-fi
-
-# Load ALSA (sound) defaults:
-if [ -x /etc/rc.d/rc.alsa ]; then
- /etc/rc.d/rc.alsa
-fi
-
-# Load a custom screen font if the user has an rc.font script.
-if [ -x /etc/rc.d/rc.font ]; then
- /etc/rc.d/rc.font
-fi
-
-# Load a custom keymap if the user has an rc.keymap script.
-if [ -x /etc/rc.d/rc.keymap ]; then
- /etc/rc.d/rc.keymap
-fi
-
-# Start the MySQL database:
-if [ -x /etc/rc.d/rc.mysqld ]; then
- /etc/rc.d/rc.mysqld start
-fi
-
-# Start Apache web server:
-if [ -x /etc/rc.d/rc.httpd ]; then
- /etc/rc.d/rc.httpd start
-fi
-
-# Start OpenLDAP:
-if [ -x /etc/rc.d/rc.openldap ]; then
- /etc/rc.d/rc.openldap start
-fi
-
-# Start Dovecot:
-if [ -x /etc/rc.d/rc.dovecot ]; then
- /etc/rc.d/rc.dovecot start
-fi
-
-# Start Samba (a file/print server for Win95/NT machines).
-# Samba can be started in /etc/inetd.conf instead.
-if [ -x /etc/rc.d/rc.samba ]; then
- /etc/rc.d/rc.samba start
-fi
-
-# Start the GPM mouse server:
-if [ -x /etc/rc.d/rc.gpm ]; then
- /etc/rc.d/rc.gpm start
-fi
-
-# Start the Icecream scheduler. This needs to run on only one machine that is
-# part of the compile cluster:
-if [ -x /etc/rc.d/rc.icecc-scheduler ]; then
- /etc/rc.d/rc.icecc-scheduler start
-fi
-
-# Start the Icecream daemon. This needs to run on every machine that will be
-# part of the compile cluster (including the machine running the scheduler):
-if [ -x /etc/rc.d/rc.iceccd ]; then
- /etc/rc.d/rc.iceccd start
-fi
-
-# If there are SystemV init scripts for this runlevel, run them.
-if [ -x /etc/rc.d/rc.sysvinit ]; then
- /etc/rc.d/rc.sysvinit
-fi
-
-# Start the local setup procedure.
-if [ -x /etc/rc.d/rc.local ]; then
- /etc/rc.d/rc.local
-fi
-
-# All done.
diff --git a/source/ap/lxc/scripts/rc.S.lxc b/source/ap/lxc/scripts/rc.S.lxc
deleted file mode 100644
index 6732184a1..000000000
--- a/source/ap/lxc/scripts/rc.S.lxc
+++ /dev/null
@@ -1,478 +0,0 @@
-#!/bin/sh
-#
-# /etc/rc.d/rc.S: System initialization script.
-#
-# Mostly written by: Patrick J. Volkerding, <volkerdi@slackware.com>
-#
-
-# Set $container variable since this is a modified version of rc.S with
-# changes for running in an lxc container. A check to see if this variable
-# is set will be used to skip parts of the script that we don't want to run
-# in a container. Thanks to Matteo Bernardini <ponce@slackbuilds.org> and
-# Chris Willing for the initial work making this script lxc compatible.
-container="lxc"
-
-PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
-
-# Try to mount /proc:
-if [ -z "$container" ]; then
- /sbin/mount -v proc /proc -n -t proc 2> /dev/null
-fi
-
-# Mount sysfs next, if the kernel supports it:
-if [ -d /sys -a -z "$container" ]; then
- if grep -wq sysfs /proc/filesystems ; then
- if ! grep -wq sysfs /proc/mounts ; then
- /sbin/mount -v sysfs /sys -n -t sysfs
- fi
- fi
-fi
-
-# If /run exists, mount a tmpfs on it (unless the
-# initrd has already done so):
-if [ -d /run -a -z "$container" ]; then
- if ! grep -wq "tmpfs /run tmpfs" /proc/mounts ; then
- /sbin/mount -v -n -t tmpfs tmpfs /run -o mode=0755,size=32M,nodev,nosuid,noexec
- fi
-fi
-
-# Load the loop device kernel module:
-if [ -x /etc/rc.d/rc.loop -a -z "$container" ]; then
- /etc/rc.d/rc.loop start
-fi
-
-# Initialize udev to manage /dev entries and hotplugging.
-# You may turn off udev by making the /etc/rc.d/rc.udev file non-executable
-# or giving the "nohotplug" option at boot, but realize that if you turn off
-# udev that you will have to load all the kernel modules that you need
-# yourself (possibly in /etc/rc.d/rc.modules.local), and make any additional
-# device nodes that you need in the /dev directory. Even USB and IEEE1394
-# devices will need to have the modules loaded by hand if udev is not used.
-# So use it. :-)
-if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then
- if ! grep -wq nohotplug /proc/cmdline ; then
- if [ -x /etc/rc.d/rc.udev -a -z "$container" ]; then
- /etc/rc.d/rc.udev start
- fi
- fi
-fi
-
-# Mount Control Groups filesystem interface:
-if [ -z "$container" ]; then
- if grep -wq cgroup /proc/filesystems ; then
- if [ -d /sys/fs/cgroup ]; then
- # See linux-*/Documentation/cgroups/cgroups.txt (section 1.6)
- # Check if we have some tools to autodetect the available cgroup controllers
- if [ -x /bin/cut -a -x /bin/tail ]; then
- # Mount a tmpfs as the cgroup filesystem root
- mount -t tmpfs -o mode=0755 cgroup_root /sys/fs/cgroup
- # Autodetect available controllers and mount them in subfolders
- controllers="$(/bin/cut -f 1 /proc/cgroups | /bin/tail -n +2)"
- for i in $controllers; do
- mkdir /sys/fs/cgroup/$i
- mount -t cgroup -o $i $i /sys/fs/cgroup/$i
- done
- unset i controllers
- else
- # We can't use autodetection so fall back mounting them all together
- mount -t cgroup cgroup /sys/fs/cgroup
- fi
- else
- mkdir -p /dev/cgroup
- mount -t cgroup cgroup /dev/cgroup
- fi
- fi
-fi
-
-# Initialize the Logical Volume Manager.
-# This won't start unless we find /etc/lvmtab (LVM1) or
-# /etc/lvm/backup/ (LVM2). This is created by /sbin/vgscan, so to
-# use LVM you must run /sbin/vgscan yourself the first time (and
-# create some VGs and LVs).
-if [ -z "$container" ]; then
- # Create LVM lock/run directories:
- mkdir -p -m 0700 /run/lvm /run/lock /run/lock/lvm
- if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
- echo "Initializing LVM (Logical Volume Manager):"
- # Check for device-mapper support.
- if ! grep -wq device-mapper /proc/devices ; then
- # Try to load a device-mapper kernel module:
- /sbin/modprobe -q dm-mod
- fi
- # Scan for new volume groups:
- /sbin/vgscan --mknodes --ignorelockingfailure 2> /dev/null
- if [ $? = 0 ]; then
- # Make volume groups available to the kernel.
- # This should also make logical volumes available.
- /sbin/vgchange -ay --ignorelockingfailure
- fi
- fi
-fi
-
-# Open any volumes created by cryptsetup.
-#
-# Some notes on /etc/crypttab in Slackware:
-# Only LUKS formatted volumes are supported (except for swap)
-# crypttab follows the following format:
-# <luks_name> <device> <password> <options>
-#
-# <luks_name>: This is the name of your LUKS volume.
-# For example: crypt-home
-#
-# <device>: This is the device containing your LUKS volume.
-# For example: /dev/sda2
-#
-# <password>: This is either the volume password in plain text, or the name of
-# a key file. Use 'none' to interactively enter password on boot.
-#
-# <options>: Comma-separated list of options. Note that there must be a
-# password field for any options to be picked up (use a password of 'none' to
-# get a password prompt at boot). The following options are supported:
-#
-# discard -- this will cause --allow-discards to be passed to the cryptsetup
-# program while opening the LUKS volume.
-#
-# ro -- this will cause --readonly to be passed to the cryptsetup program while
-# opening the LUKS volume.
-#
-# swap -- this option cannot be used with other options. The device given will
-# be formatted as a new encrypted volume with a random key on boot, and used as
-# swap.
-#
-if [ -f /etc/crypttab -a -x /sbin/cryptsetup -a -z "$container" ]; then
- # First, check for device-mapper support.
- if ! grep -wq device-mapper /proc/devices ; then
- # If device-mapper exists as a module, try to load it.
- # Try to load a device-mapper kernel module:
- /sbin/modprobe -q dm-mod
- fi
- # NOTE: we only support LUKS formatted volumes (except for swap)!
- cat /etc/crypttab | grep -v "^#" | grep -v "^$" | while read line; do
- eval LUKSARRAY=( $line )
- LUKS="${LUKSARRAY[0]}"
- DEV="${LUKSARRAY[1]}"
- PASS="${LUKSARRAY[2]}"
- OPTS="${LUKSARRAY[3]}"
- LUKSOPTS=""
- if echo $OPTS | grep -wq ro ; then LUKSOPTS="${LUKSOPTS} --readonly" ; fi
- if echo $OPTS | grep -wq discard ; then LUKSOPTS="${LUKSOPTS} --allow-discards" ; fi
- # Skip LUKS volumes that were already unlocked (in the initrd):
- /sbin/cryptsetup status $LUKS 2>/dev/null | head -n 1 | grep -q "is active" && continue
- if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then
- if [ -z "${LUKSOPTS}" ]; then
- echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV':"
- else
- echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV' with options '${LUKSOPTS}':"
- fi
- if [ -n "${PASS}" -a "${PASS}" != "none" ]; then
- if [ -f "${PASS}" ]; then
- # A password was given a key-file filename
- /sbin/cryptsetup ${LUKSOPTS} --key-file=${PASS} luksOpen $DEV $LUKS
- else
- # A password was provided in plain text
- echo "${PASS}" | /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS
- fi
- else
- # No password was given, or a password of 'none' was given
- /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS </dev/tty0 >/dev/tty0 2>&1
- fi
- elif echo $OPTS | grep -wq swap ; then
- # If any of the volumes is to be used as encrypted swap,
- # then encrypt it using a random key and run mkswap:
- echo "Creating encrypted swap volume '${LUKS}' on device '$DEV':"
- /sbin/cryptsetup --cipher=aes --key-file=/dev/urandom --key-size=256 create $LUKS $DEV
- mkswap /dev/mapper/$LUKS
- fi
- done
-fi
-
-# Enable swapping:
-if [ -z "$container" ]; then
- /sbin/swapon -a 2> /dev/null
-fi
-
-# Set the tick and frequency for the system clock.
-# Default values are: TICK=10000 and FREQ=0
-if [ -z "$container" ]; then
- TICK=10000
- FREQ=0
- # If there's a /etc/default/adjtimex config file, source it to override
- # the default TICK and FREQ:
- if [ -r /etc/default/adjtimex ]; then
- . /etc/default/adjtimex
- fi
- if /sbin/adjtimex --tick $TICK --frequency $FREQ; then
- echo "Setting the system clock rate: /sbin/adjtimex --tick $TICK --frequency $FREQ"
- else
- echo "Failed to set system clock with adjtimex, possibly invalid parameters? (TICK=$TICK FREQ=$FREQ)"
- fi
-fi
-
-# Set the system time from the hardware clock using hwclock --hctosys.
-if [ -x /sbin/hwclock -a -z "$container" ]; then
- # Check for a broken motherboard RTC clock (where ioports for rtc are
- # unknown) to prevent hwclock causing a hang:
- if ! grep -q " : rtc" /proc/ioports ; then
- CLOCK_OPT="--directisa"
- fi
- if [ /etc/adjtime -nt /etc/hardwareclock ]; then
- if grep -q "^LOCAL" /etc/adjtime ; then
- echo -n "Setting system time from the hardware clock (localtime): "
- else
- echo -n "Setting system time from the hardware clock (UTC): "
- fi
- /sbin/hwclock $CLOCK_OPT --hctosys
- elif grep -wq "^localtime" /etc/hardwareclock 2> /dev/null ; then
- echo -n "Setting system time from the hardware clock (localtime): "
- /sbin/hwclock $CLOCK_OPT --localtime --hctosys
- else
- echo -n "Setting system time from the hardware clock (UTC): "
- /sbin/hwclock $CLOCK_OPT --utc --hctosys
- fi
- date
-fi
-
-# Test to see if the root partition is read-only, like it ought to be.
-if [ -z "$container" ]; then
- READWRITE=no
- if touch /fsrwtestfile 2>/dev/null; then
- rm -f /fsrwtestfile
- READWRITE=yes
- else
- echo "Testing root filesystem status: read-only filesystem"
- fi
-fi
-
-# See if a forced filesystem check was requested at shutdown:
-if [ -r /etc/forcefsck -a -z "$container" ]; then
- FORCEFSCK="-f"
-fi
-
-# Check the root filesystem:
-if [ -z "$container" ]; then
- # If we're using F2FS for the root filesystem, don't check it as it doesn't
- # allow checking a read-only filesystem:
- if grep -q ' / f2fs ' /proc/mounts ; then
- echo "Remounting root device with read-write enabled."
- /sbin/mount -w -v -n -o remount /
- elif [ ! $READWRITE = yes ]; then
- RETVAL=0
- if [ ! -r /etc/fastboot ]; then
- echo "Checking root filesystem:"
- /sbin/fsck $FORCEFSCK -C -a /
- RETVAL=$?
- fi
- # An error code of 2 or higher will require a reboot.
- if [ $RETVAL -ge 2 ]; then
- # An error code equal to or greater than 4 means that some errors
- # could not be corrected. This requires manual attention, so we
- # offer a chance to try to fix the problem in single-user mode:
- if [ $RETVAL -ge 4 ]; then
- echo
- echo "***********************************************************"
- echo "*** An error occurred during the root filesystem check. ***"
- echo "*** You will now be given a chance to log into the ***"
- echo "*** system in single-user mode to fix the problem. ***"
- echo "*** ***"
- echo "*** If you are using the ext2 filesystem, running ***"
- echo "*** 'e2fsck -v -y <partition>' might help. ***"
- echo "***********************************************************"
- echo
- echo "Once you exit the single-user shell, the system will reboot."
- echo
- PS1="(Repair filesystem) \#"; export PS1
- sulogin
- else # With an error code of 2 or 3, reboot the machine automatically:
- echo
- echo "***********************************"
- echo "*** The filesystem was changed. ***"
- echo "*** The system will now reboot. ***"
- echo "***********************************"
- echo
- fi
- echo "Unmounting file systems."
- /sbin/umount -a -r
- /sbin/mount -n -o remount,ro /
- echo "Rebooting system."
- reboot -f
- fi
- # Remount the root filesystem in read-write mode
- echo "Remounting root device with read-write enabled."
- /sbin/mount -w -v -n -o remount /
- if [ $? -gt 0 ] ; then
- echo "FATAL: Attempt to remount root device as read-write failed! This is going to"
- echo "cause serious problems."
- fi
- else
- echo "Testing root filesystem status: read-write filesystem"
- echo
- echo "ERROR: Root partition has already been mounted read-write. Cannot check!"
- echo
- echo "For filesystem checking to work properly, your system must initially mount"
- echo "the root partition as read only. If you're booting with LILO, add a line:"
- echo
- echo " read-only"
- echo
- echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it."
- fi # Done checking root filesystem
-fi
-
-# If /etc/mtab is a symlink (probably to /proc/mounts) then we don't want to mess with it.
-if [ ! -L /etc/mtab -o ! -r /etc/mtab ]; then
- # /etc/mtab is a file (or doesn't exist), so we'll handle it the old way:
- # Any /etc/mtab that exists here is old, so we start with a new one:
- /bin/rm -f /etc/mtab{,~,.tmp} && /bin/touch /etc/mtab
- if [ -z "$container" ]; then
- # Add /, /proc, /sys, and /dev/shm mounts to /etc/mtab:
- /sbin/mount -f -w /
- if [ -d /proc/sys ]; then
- /sbin/mount -f -t proc proc /proc
- fi
- if [ -d /sys/bus ]; then
- /sbin/mount -f -t sysfs sysfs /sys
- fi
- if grep -q '^[^ ]\+ /dev/shm ' /proc/mounts 2> /dev/null ; then
- /sbin/mount -f -t tmpfs tmpfs /dev/shm
- fi
- fi
-fi
-
-# Configure ISA Plug-and-Play devices:
-if [ -r /etc/isapnp.conf -a -z "$container" ]; then
- if [ -x /sbin/isapnp ]; then
- /sbin/isapnp /etc/isapnp.conf
- fi
-fi
-
-# Run the kernel module script. This updates the module dependencies and
-# also supports manually loading kernel modules through rc.modules.local.
-if [ -x /etc/rc.d/rc.modules -a -z "$container" ]; then
- /etc/rc.d/rc.modules
-fi
-
-# Configure kernel parameters:
-if [ -x /sbin/sysctl -a -r /etc/sysctl.conf -a -z "$container" ]; then
- echo "Configuring kernel parameters: /sbin/sysctl -e --system"
- /sbin/sysctl -e --system
-elif [ -x /sbin/sysctl -a -z "$container" ]; then
- echo "Configuring kernel parameters: /sbin/sysctl -e --system"
- # Don't say "Applying /etc/sysctl.conf" or complain if the file doesn't exist
- /sbin/sysctl -e --system 2> /dev/null | grep -v "Applying /etc/sysctl.conf"
-fi
-
-# Check all the non-root filesystems:
-if [ ! -r /etc/fastboot -a -z "$container" ]; then
- echo "Checking non-root filesystems:"
- /sbin/fsck $FORCEFSCK -C -R -A -a
-fi
-
-# Mount usbfs only if it is found in /etc/fstab:
-if [ -z "$container" ]; then
- if grep -wq usbfs /proc/filesystems; then
- if ! grep -wq usbfs /proc/mounts ; then
- if grep -wq usbfs /etc/fstab; then
- /sbin/mount -v /proc/bus/usb
- fi
- fi
- fi
-fi
-
-# Mount non-root file systems in fstab, but not NFS or SMB
-# because TCP/IP is not yet configured, and not proc or sysfs
-# because those have already been mounted. Also check that
-# devpts is not already mounted before attempting to mount
-# it. With a 2.6.x or newer kernel udev mounts devpts.
-if [ -z "$container" ]; then
- echo "Mounting non-root local filesystems:"
- if /bin/grep -wq devpts /proc/mounts ; then
- # This pipe after the mount command is just to convert the new
- # mount verbose output back to the old format that contained
- # more useful information:
- /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done
- else
- /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done
- fi
-fi
-
-# Enable swapping again. This is needed in case a swapfile is used,
-# as it can't be enabled until the filesystem it resides on has been
-# mounted read-write.
-if [ -z "$container" ]; then
- /sbin/swapon -a 2> /dev/null
-fi
-
-# Start cgmanager (or cgproxy in a container):
-if [ -x /etc/rc.d/rc.cgmanager -a -d /sys/fs/cgroup ]; then
- /etc/rc.d/rc.cgmanager start
-fi
-
-# Start libcgroup services:
-if [ -x /etc/rc.d/rc.cgconfig -a -x /etc/rc.d/rc.cgred -a -d /sys/fs/cgroup ]; then
- /etc/rc.d/rc.cgconfig start ; echo " /usr/sbin/cgconfigparser -l /etc/cgconfig.conf"
- /etc/rc.d/rc.cgred start
-fi
-
-# Clean up some temporary files:
-rm -f /var/run/* /var/run/*/* /var/run/*/*/* /etc/nologin \
- /etc/dhcpc/*.pid /etc/forcefsck /etc/fastboot \
- /var/state/saslauthd/saslauthd.pid \
- /tmp/.Xauth* 1> /dev/null 2> /dev/null
-if [ -d /var/lib/pkgtools/setup/tmp ]; then
- ( cd /var/lib/pkgtools/setup/tmp && rm -rf * )
-elif [ -d /var/log/setup/tmp ]; then
- ( cd /var/log/setup/tmp && rm -rf * )
-fi
-( cd /tmp && rm -rf kde-[a-zA-Z]* ksocket-[a-zA-Z]* hsperfdata_[a-zA-Z]* plugtmp* )
-
-# Clear /var/lock/subsys:
-if [ -d /var/lock/subsys ]; then
- rm -f /var/lock/subsys/*
-fi
-
-# Create /tmp/{.ICE-unix,.X11-unix} if they are not present:
-if [ ! -e /tmp/.ICE-unix ]; then
- mkdir -p /tmp/.ICE-unix
- chmod 1777 /tmp/.ICE-unix
-fi
-if [ ! -e /tmp/.X11-unix ]; then
- mkdir -p /tmp/.X11-unix
- chmod 1777 /tmp/.X11-unix
-fi
-
-# Create a fresh utmp file:
-touch /var/run/utmp
-chown root:utmp /var/run/utmp
-chmod 664 /var/run/utmp
-
-# Update the current kernel level in the /etc/motd (Message Of The Day) file,
-# if the first line of that file begins with the word 'Linux'.
-# You are free to modify the rest of the file as you see fit.
-if [ -x /bin/sed ]; then
- /bin/sed -i "{1s/^Linux.*/$(/bin/uname -sr)\./}" /etc/motd
-fi
-
-# If there are SystemV init scripts for this runlevel, run them.
-if [ -x /etc/rc.d/rc.sysvinit ]; then
- /etc/rc.d/rc.sysvinit
-fi
-
-# Run serial port setup script:
-# CAREFUL! This can make some systems hang if the rc.serial script isn't
-# set up correctly. If this happens, you may have to edit the file from a
-# boot disk, and/or set it as non-executable:
-if [ -x /etc/rc.d/rc.serial -a -z "$container" ]; then
- /etc/rc.d/rc.serial start
-fi
-
-# Carry an entropy pool between reboots to improve randomness.
-if [ -f /etc/random-seed ]; then
- echo "Using /etc/random-seed to initialize /dev/urandom."
- cat /etc/random-seed > /dev/urandom
-fi
-# Use the pool size from /proc, or 4096 bits:
-if [ -r /proc/sys/kernel/random/poolsize ]; then
- dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null
-else
- dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
-fi
-chmod 600 /etc/random-seed
diff --git a/source/ap/lxc/scripts/rc.S.orig b/source/ap/lxc/scripts/rc.S.orig
deleted file mode 100644
index 4162938f3..000000000
--- a/source/ap/lxc/scripts/rc.S.orig
+++ /dev/null
@@ -1,449 +0,0 @@
-#!/bin/sh
-#
-# /etc/rc.d/rc.S: System initialization script.
-#
-# Mostly written by: Patrick J. Volkerding, <volkerdi@slackware.com>
-#
-
-PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
-
-# Try to mount /proc:
-/sbin/mount -v proc /proc -n -t proc 2> /dev/null
-
-# Mount sysfs next, if the kernel supports it:
-if [ -d /sys ]; then
- if grep -wq sysfs /proc/filesystems ; then
- if ! grep -wq sysfs /proc/mounts ; then
- /sbin/mount -v sysfs /sys -n -t sysfs
- fi
- fi
-fi
-
-# If /run exists, mount a tmpfs on it (unless the
-# initrd has already done so):
-if [ -d /run ]; then
- if ! grep -wq "tmpfs /run tmpfs" /proc/mounts ; then
- /sbin/mount -v -n -t tmpfs tmpfs /run -o mode=0755,size=32M,nodev,nosuid,noexec
- fi
-fi
-
-# Load the loop device kernel module:
-if [ -x /etc/rc.d/rc.loop ]; then
- /etc/rc.d/rc.loop start
-fi
-
-# Initialize udev to manage /dev entries and hotplugging.
-# You may turn off udev by making the /etc/rc.d/rc.udev file non-executable
-# or giving the "nohotplug" option at boot, but realize that if you turn off
-# udev that you will have to load all the kernel modules that you need
-# yourself (possibly in /etc/rc.d/rc.modules.local), and make any additional
-# device nodes that you need in the /dev directory. Even USB and IEEE1394
-# devices will need to have the modules loaded by hand if udev is not used.
-# So use it. :-)
-if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then
- if ! grep -wq nohotplug /proc/cmdline ; then
- if [ -x /etc/rc.d/rc.udev ]; then
- /etc/rc.d/rc.udev start
- fi
- fi
-fi
-
-# Mount Control Groups filesystem interface:
-if grep -wq cgroup /proc/filesystems ; then
- if [ -d /sys/fs/cgroup ]; then
- # See linux-*/Documentation/cgroups/cgroups.txt (section 1.6)
- # Check if we have some tools to autodetect the available cgroup controllers
- if [ -x /bin/cut -a -x /bin/tail ]; then
- # Mount a tmpfs as the cgroup filesystem root
- mount -t tmpfs -o mode=0755,size=8M cgroup_root /sys/fs/cgroup
- # Autodetect available controllers and mount them in subfolders
- controllers="$(/bin/cut -f 1 /proc/cgroups | /bin/tail -n +2)"
- for i in $controllers; do
- mkdir /sys/fs/cgroup/$i
- mount -t cgroup -o $i $i /sys/fs/cgroup/$i
- done
- unset i controllers
- else
- # We can't use autodetection so fall back mounting them all together
- mount -t cgroup cgroup /sys/fs/cgroup
- fi
- else
- mkdir -p /dev/cgroup
- mount -t cgroup cgroup /dev/cgroup
- fi
-fi
-
-# Initialize the Logical Volume Manager.
-# This won't start unless we find /etc/lvmtab (LVM1) or
-# /etc/lvm/backup/ (LVM2). This is created by /sbin/vgscan, so to
-# use LVM you must run /sbin/vgscan yourself the first time (and
-# create some VGs and LVs).
-# Create LVM lock/run directories:
-mkdir -p -m 0700 /run/lvm /run/lock /run/lock/lvm
-if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
- echo "Initializing LVM (Logical Volume Manager):"
- # Check for device-mapper support.
- if ! grep -wq device-mapper /proc/devices ; then
- # Try to load a device-mapper kernel module:
- /sbin/modprobe -q dm-mod
- fi
- # Scan for new volume groups:
- /sbin/vgscan --mknodes --ignorelockingfailure 2> /dev/null
- if [ $? = 0 ]; then
- # Make volume groups available to the kernel.
- # This should also make logical volumes available.
- /sbin/vgchange -ay --ignorelockingfailure
- fi
-fi
-
-# Open any volumes created by cryptsetup.
-#
-# Some notes on /etc/crypttab in Slackware:
-# Only LUKS formatted volumes are supported (except for swap)
-# crypttab follows the following format:
-# <luks_name> <device> <password> <options>
-#
-# <luks_name>: This is the name of your LUKS volume.
-# For example: crypt-home
-#
-# <device>: This is the device containing your LUKS volume.
-# For example: /dev/sda2
-#
-# <password>: This is either the volume password in plain text, or the name of
-# a key file. Use 'none' to interactively enter password on boot.
-#
-# <options>: Comma-separated list of options. Note that there must be a
-# password field for any options to be picked up (use a password of 'none' to
-# get a password prompt at boot). The following options are supported:
-#
-# discard -- this will cause --allow-discards to be passed to the cryptsetup
-# program while opening the LUKS volume.
-#
-# ro -- this will cause --readonly to be passed to the cryptsetup program while
-# opening the LUKS volume.
-#
-# swap -- this option cannot be used with other options. The device given will
-# be formatted as a new encrypted volume with a random key on boot, and used as
-# swap.
-#
-if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then
- # First, check for device-mapper support.
- if ! grep -wq device-mapper /proc/devices ; then
- # If device-mapper exists as a module, try to load it.
- # Try to load a device-mapper kernel module:
- /sbin/modprobe -q dm-mod
- fi
- # NOTE: we only support LUKS formatted volumes (except for swap)!
- cat /etc/crypttab | grep -v "^#" | grep -v "^$" | while read line; do
- eval LUKSARRAY=( $line )
- LUKS="${LUKSARRAY[0]}"
- DEV="${LUKSARRAY[1]}"
- PASS="${LUKSARRAY[2]}"
- OPTS="${LUKSARRAY[3]}"
- LUKSOPTS=""
- if echo $OPTS | grep -wq ro ; then LUKSOPTS="${LUKSOPTS} --readonly" ; fi
- if echo $OPTS | grep -wq discard ; then LUKSOPTS="${LUKSOPTS} --allow-discards" ; fi
- # Skip LUKS volumes that were already unlocked (in the initrd):
- /sbin/cryptsetup status $LUKS 2>/dev/null | head -n 1 | grep -q "is active" && continue
- if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then
- if [ -z "${LUKSOPTS}" ]; then
- echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV':"
- else
- echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV' with options '${LUKSOPTS}':"
- fi
- if [ -n "${PASS}" -a "${PASS}" != "none" ]; then
- if [ -f "${PASS}" ]; then
- # A password was given a key-file filename
- /sbin/cryptsetup ${LUKSOPTS} --key-file=${PASS} luksOpen $DEV $LUKS
- else
- # A password was provided in plain text
- echo "${PASS}" | /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS
- fi
- else
- # No password was given, or a password of 'none' was given
- /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS </dev/tty0 >/dev/tty0 2>&1
- fi
- elif echo $OPTS | grep -wq swap ; then
- # If any of the volumes is to be used as encrypted swap,
- # then encrypt it using a random key and run mkswap:
- echo "Creating encrypted swap volume '${LUKS}' on device '$DEV':"
- /sbin/cryptsetup --cipher=aes --key-file=/dev/urandom --key-size=256 create $LUKS $DEV
- mkswap /dev/mapper/$LUKS
- fi
- done
-fi
-
-# Enable swapping:
-/sbin/swapon -a 2> /dev/null
-
-# Set the tick and frequency for the system clock.
-# Default values are: TICK=10000 and FREQ=0
-TICK=10000
-FREQ=0
-# If there's a /etc/default/adjtimex config file, source it to override
-# the default TICK and FREQ:
-if [ -r /etc/default/adjtimex ]; then
- . /etc/default/adjtimex
-fi
-if /sbin/adjtimex --tick $TICK --frequency $FREQ; then
- echo "Setting the system clock rate: /sbin/adjtimex --tick $TICK --frequency $FREQ"
-else
- echo "Failed to set system clock with adjtimex, possibly invalid parameters? (TICK=$TICK FREQ=$FREQ)"
-fi
-
-# Set the system time from the hardware clock using hwclock --hctosys.
-if [ -x /sbin/hwclock ]; then
- # Check for a broken motherboard RTC clock (where ioports for rtc are
- # unknown) to prevent hwclock causing a hang:
- if ! grep -q " : rtc" /proc/ioports ; then
- CLOCK_OPT="--directisa"
- fi
- if [ /etc/adjtime -nt /etc/hardwareclock ]; then
- if grep -q "^LOCAL" /etc/adjtime ; then
- echo -n "Setting system time from the hardware clock (localtime): "
- else
- echo -n "Setting system time from the hardware clock (UTC): "
- fi
- /sbin/hwclock $CLOCK_OPT --hctosys
- elif grep -wq "^localtime" /etc/hardwareclock 2> /dev/null ; then
- echo -n "Setting system time from the hardware clock (localtime): "
- /sbin/hwclock $CLOCK_OPT --localtime --hctosys
- else
- echo -n "Setting system time from the hardware clock (UTC): "
- /sbin/hwclock $CLOCK_OPT --utc --hctosys
- fi
- date
-fi
-
-# Test to see if the root partition is read-only, like it ought to be.
-READWRITE=no
-if touch /fsrwtestfile 2>/dev/null; then
- rm -f /fsrwtestfile
- READWRITE=yes
-else
- echo "Testing root filesystem status: read-only filesystem"
-fi
-
-# See if a forced filesystem check was requested at shutdown:
-if [ -r /etc/forcefsck ]; then
- FORCEFSCK="-f"
-fi
-
-# If we're using F2FS for the root filesystem, don't check it as it doesn't
-# allow checking a read-only filesystem:
-if grep -q ' / f2fs ' /proc/mounts ; then
- echo "Remounting root device with read-write enabled."
- /sbin/mount -w -v -n -o remount /
-elif [ ! $READWRITE = yes ]; then
- # Check the root filesystem:
- RETVAL=0
- if [ ! -r /etc/fastboot ]; then
- echo "Checking root filesystem:"
- /sbin/fsck $FORCEFSCK -C -a /
- RETVAL=$?
- fi
- # An error code of 2 or higher will require a reboot.
- if [ $RETVAL -ge 2 ]; then
- # An error code equal to or greater than 4 means that some errors
- # could not be corrected. This requires manual attention, so we
- # offer a chance to try to fix the problem in single-user mode:
- if [ $RETVAL -ge 4 ]; then
- echo
- echo "***********************************************************"
- echo "*** An error occurred during the root filesystem check. ***"
- echo "*** You will now be given a chance to log into the ***"
- echo "*** system in single-user mode to fix the problem. ***"
- echo "*** ***"
- echo "*** If you are using the ext2 filesystem, running ***"
- echo "*** 'e2fsck -v -y <partition>' might help. ***"
- echo "***********************************************************"
- echo
- echo "Once you exit the single-user shell, the system will reboot."
- echo
- PS1="(Repair filesystem) \#"; export PS1
- sulogin
- else # With an error code of 2 or 3, reboot the machine automatically:
- echo
- echo "***********************************"
- echo "*** The filesystem was changed. ***"
- echo "*** The system will now reboot. ***"
- echo "***********************************"
- echo
- fi
- echo "Unmounting file systems."
- /sbin/umount -a -r
- /sbin/mount -n -o remount,ro /
- echo "Rebooting system."
- reboot -f
- fi
- # Remount the root filesystem in read-write mode
- echo "Remounting root device with read-write enabled."
- /sbin/mount -w -v -n -o remount /
- if [ $? -gt 0 ] ; then
- echo "FATAL: Attempt to remount root device as read-write failed! This is going to"
- echo "cause serious problems."
- fi
-else
- echo "Testing root filesystem status: read-write filesystem"
- echo
- echo "ERROR: Root partition has already been mounted read-write. Cannot check!"
- echo
- echo "For filesystem checking to work properly, your system must initially mount"
- echo "the root partition as read only. If you're booting with LILO, add a line:"
- echo
- echo " read-only"
- echo
- echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it."
-fi # Done checking root filesystem
-
-# If /etc/mtab is a symlink (probably to /proc/mounts) then we don't want to mess with it.
-if [ ! -L /etc/mtab -o ! -r /etc/mtab ]; then
- # /etc/mtab is a file (or doesn't exist), so we'll handle it the old way:
- # Any /etc/mtab that exists here is old, so we start with a new one:
- /bin/rm -f /etc/mtab{,~,.tmp} && /bin/touch /etc/mtab
- # Add /, /proc, /sys, and /dev/shm mounts to /etc/mtab:
- /sbin/mount -f -w /
- if [ -d /proc/sys ]; then
- /sbin/mount -f -t proc proc /proc
- fi
- if [ -d /sys/bus ]; then
- /sbin/mount -f -t sysfs sysfs /sys
- fi
- if grep -q '^[^ ]\+ /dev/shm ' /proc/mounts 2> /dev/null ; then
- /sbin/mount -f -t tmpfs tmpfs /dev/shm
- fi
-fi
-
-# Configure ISA Plug-and-Play devices:
-if [ -r /etc/isapnp.conf ]; then
- if [ -x /sbin/isapnp ]; then
- /sbin/isapnp /etc/isapnp.conf
- fi
-fi
-
-# Run the kernel module script. This updates the module dependencies and
-# also supports manually loading kernel modules through rc.modules.local.
-if [ -x /etc/rc.d/rc.modules ]; then
- /etc/rc.d/rc.modules
-fi
-
-# Configure kernel parameters:
-if [ -x /sbin/sysctl -a -r /etc/sysctl.conf ]; then
- echo "Configuring kernel parameters: /sbin/sysctl -e --system"
- /sbin/sysctl -e --system
-elif [ -x /sbin/sysctl ]; then
- echo "Configuring kernel parameters: /sbin/sysctl -e --system"
- # Don't say "Applying /etc/sysctl.conf" or complain if the file doesn't exist
- /sbin/sysctl -e --system 2> /dev/null | grep -v "Applying /etc/sysctl.conf"
-fi
-
-# Check all the non-root filesystems:
-if [ ! -r /etc/fastboot ]; then
- echo "Checking non-root filesystems:"
- /sbin/fsck $FORCEFSCK -C -R -A -a
-fi
-
-# Mount usbfs only if it is found in /etc/fstab:
-if grep -wq usbfs /proc/filesystems; then
- if ! grep -wq usbfs /proc/mounts ; then
- if grep -wq usbfs /etc/fstab; then
- /sbin/mount -v /proc/bus/usb
- fi
- fi
-fi
-
-# Mount non-root file systems in fstab, but not NFS or SMB
-# because TCP/IP is not yet configured, and not proc or sysfs
-# because those have already been mounted. Also check that
-# devpts is not already mounted before attempting to mount
-# it. With a 2.6.x or newer kernel udev mounts devpts.
-echo "Mounting non-root local filesystems:"
-if /bin/grep -wq devpts /proc/mounts ; then
- # This pipe after the mount command is just to convert the new
- # mount verbose output back to the old format that contained
- # more useful information:
- /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done
-else
- /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done
-fi
-
-# Enable swapping again. This is needed in case a swapfile is used,
-# as it can't be enabled until the filesystem it resides on has been
-# mounted read-write.
-/sbin/swapon -a 2> /dev/null
-
-# Start cgmanager (or cgproxy in a container):
-if [ -x /etc/rc.d/rc.cgmanager -a -d /sys/fs/cgroup ]; then
- /etc/rc.d/rc.cgmanager start
-fi
-
-# Start libcgroup services:
-if [ -x /etc/rc.d/rc.cgconfig -a -x /etc/rc.d/rc.cgred -a -d /sys/fs/cgroup ]; then
- /etc/rc.d/rc.cgconfig start ; echo " /usr/sbin/cgconfigparser -l /etc/cgconfig.conf"
- /etc/rc.d/rc.cgred start
-fi
-
-# Clean up some temporary files:
-rm -f /var/run/* /var/run/*/* /var/run/*/*/* /etc/nologin \
- /etc/dhcpc/*.pid /etc/forcefsck /etc/fastboot \
- /var/state/saslauthd/saslauthd.pid \
- /tmp/.Xauth* 1> /dev/null 2> /dev/null
-if [ -d /var/lib/pkgtools/setup/tmp ]; then
- ( cd /var/lib/pkgtools/setup/tmp && rm -rf * )
-elif [ -d /var/log/setup/tmp ]; then
- ( cd /var/log/setup/tmp && rm -rf * )
-fi
-( cd /tmp && rm -rf kde-[a-zA-Z]* ksocket-[a-zA-Z]* hsperfdata_[a-zA-Z]* plugtmp* )
-
-# Clear /var/lock/subsys:
-if [ -d /var/lock/subsys ]; then
- rm -f /var/lock/subsys/*
-fi
-
-# Create /tmp/{.ICE-unix,.X11-unix} if they are not present:
-if [ ! -e /tmp/.ICE-unix ]; then
- mkdir -p /tmp/.ICE-unix
- chmod 1777 /tmp/.ICE-unix
-fi
-if [ ! -e /tmp/.X11-unix ]; then
- mkdir -p /tmp/.X11-unix
- chmod 1777 /tmp/.X11-unix
-fi
-
-# Create a fresh utmp file:
-touch /var/run/utmp
-chown root:utmp /var/run/utmp
-chmod 664 /var/run/utmp
-
-# Update the current kernel level in the /etc/motd (Message Of The Day) file,
-# if the first line of that file begins with the word 'Linux'.
-# You are free to modify the rest of the file as you see fit.
-if [ -x /bin/sed ]; then
- /bin/sed -i "{1s/^Linux.*/$(/bin/uname -sr)\./}" /etc/motd
-fi
-
-# If there are SystemV init scripts for this runlevel, run them.
-if [ -x /etc/rc.d/rc.sysvinit ]; then
- /etc/rc.d/rc.sysvinit
-fi
-
-# Run serial port setup script:
-# CAREFUL! This can make some systems hang if the rc.serial script isn't
-# set up correctly. If this happens, you may have to edit the file from a
-# boot disk, and/or set it as non-executable:
-if [ -x /etc/rc.d/rc.serial ]; then
- /etc/rc.d/rc.serial start
-fi
-
-# Carry an entropy pool between reboots to improve randomness.
-if [ -f /etc/random-seed ]; then
- echo "Using /etc/random-seed to initialize /dev/urandom."
- cat /etc/random-seed > /dev/urandom
-fi
-# Use the pool size from /proc, or 4096 bits:
-if [ -r /proc/sys/kernel/random/poolsize ]; then
- dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null
-else
- dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
-fi
-chmod 600 /etc/random-seed
diff --git a/source/ap/lxc/scripts/rc.inet1.lxc b/source/ap/lxc/scripts/rc.inet1.lxc
deleted file mode 100644
index 2ae9bbb58..000000000
--- a/source/ap/lxc/scripts/rc.inet1.lxc
+++ /dev/null
@@ -1,387 +0,0 @@
-#!/bin/bash
-# /etc/rc.d/rc.inet1
-# This script is used to bring up the various network interfaces.
-#
-# @(#)/etc/rc.d/rc.inet1 10.2 Sun Jul 24 12:45:56 PDT 2005 (pjv)
-
-# Set $container variable since this is a modified version of rc.inet1 with
-# changes for running in an lxc container. A check to see if this variable
-# is set will be used to skip parts of the script that we don't want to run
-# in a container. Thanks to Matteo Bernardini <ponce@slackbuilds.org> and
-# Chris Willing for the initial work making this script lxc compatible.
-container="lxc"
-
-############################
-# READ NETWORK CONFIG FILE #
-############################
-
-# Get the configuration information from /etc/rc.d/rc.inet1.conf:
-. /etc/rc.d/rc.inet1.conf
-
-###########
-# LOGGING #
-###########
-
-# If possible, log events in /var/log/messages:
-if [ -f /var/run/syslogd.pid ] && [ -x /usr/bin/logger ]; then
- LOGGER=/usr/bin/logger
-else # output to stdout/stderr:
- LOGGER=/bin/cat
-fi
-
-# Handy wrapper for verbose logging
-debug_log() {
- if [ "$DEBUG_ETH_UP" = "yes" ]; then
- echo "/etc/rc.d/rc.inet1: $*" | $LOGGER
- fi
-}
-
-############################
-# DETERMINE INTERFACE LIST #
-############################
-
-# Compose a list of interfaces from /etc/rc.d/rc.inet1.conf (with a maximum
-# of 6 interfaces, but you can easily enlarge the interface limit
-# - send me a picture of such a box :-).
-# If a value for IFNAME[n] is not set, we assume it is an eth'n' interface.
-# This way, the new script is compatible with older rc.inet1.conf files.
-# The IFNAME array will be used to determine which interfaces to bring up/down.
-MAXNICS=${MAXNICS:-6}
-i=0
-while [ $i -lt $MAXNICS ];
-do
- IFNAME[$i]=${IFNAME[$i]:=eth${i}}
- i=$(($i+1))
-done
-debug_log "List of interfaces: '${IFNAME[*]}'"
-
-######################
-# LOOPBACK FUNCTIONS #
-######################
-
-# Function to bring up the loopback interface. If loopback is
-# already up, do nothing.
-lo_up() {
- if [ -e /sys/class/net/lo ]; then
- if ! /sbin/ip link show dev lo | grep -wq -e "state UP" -e "state UNKNOWN" ; then
- echo "/etc/rc.d/rc.inet1: /sbin/ip address add 127.0.0.1/8 dev lo" | $LOGGER
- /sbin/ip address add 127.0.0.1/8 dev lo
- /sbin/ip link set dev lo up
- echo "/etc/rc.d/rc.inet1: /sbin/ip route add 127.0.0.0/8 dev lo" | $LOGGER
- /sbin/ip route add 127.0.0.0/8 dev lo
- fi
- fi
-}
-
-# Function to take down the loopback interface:
-lo_down() {
- if [ -e /sys/class/net/lo ]; then
- echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev lo down" | $LOGGER
- /sbin/ip link set dev lo down
- fi
-}
-
-#######################
-# INTERFACE FUNCTIONS #
-#######################
-
-# Function to create virtual interfaces
-virtif_create() {
- # argument is 'i' - the position of this interface in the VIRTIFNAME array.
- # this loop goes from i=0 to i=number_of_configured_virtual_interfaces_minus_one
- # which means it doesn't do anything if there are none.
- for i in $(seq 0 $((${#VIRTIFNAME[@]} - 1))); do
- /sbin/ip tuntap add dev ${VIRTIFNAME[$i]} mode ${VIRTIFTYPE[$i]} user ${VIRTIFUSER[$i]} group ${VIRTIFGROUP[$i]}
- done
-}
-
-# Function to destory virtual interfaces
-virtif_destroy() {
- # argument is 'i' - the position of this interface in the VIRTIFNAME array.
- for i in $(seq 0 $((${#VIRTIFNAME[@]} - 1))); do
- /sbin/ip tuntap del dev ${VIRTIFNAME[$i]} mode ${VIRTIFTYPE[$i]}
- done
-}
-
-# Function to assemble a bridge interface.
-br_open() {
- # argument is 'i' - the position of this interface in the IFNAME array.
- /sbin/ip link add name ${IFNAME[$1]} type bridge
- for BRIF in ${BRNICS[$1]}; do
- /sbin/ip link set dev $BRIF down
- /sbin/ip address add 0.0.0.0 dev $BRIF
- /sbin/ip link set dev $BRIF master ${IFNAME[$1]}
- /sbin/ip link set dev $BRIF up
- done
- /sbin/ip link set dev ${IFNAME[$1]} up
-}
-
-# Function to disassemble a bridge interface.
-br_close() {
- /sbin/ip link set dev ${IFNAME[$1]} down
- # argument is 'i' - the position of this interface in the IFNAME array.
- #for BRIF in ${BRNICS[$1]}; do
- for BRIF in $(ls --indicator-style=none /sys/class/net/${IFNAME[$1]}/brif/)
- do
- /sbin/ip link set dev $BRIF nomaster
- done
- /sbin/ip link set dev ${IFNAME[$1]} down
- /sbin/ip link del ${IFNAME[$1]}
-}
-
-# Function to bring up a network interface. If the interface is
-# already up or does not yet exist (perhaps because the kernel driver
-# is not loaded yet), do nothing.
-if_up() {
- # Determine position 'i' of this interface in the IFNAME array:
- i=0
- while [ $i -lt $MAXNICS ]; do
- [ "${IFNAME[$i]}" = "${1}" ] && break
- i=$(($i+1))
- done
- # If "i" is greater or equal to "MAXNICS" at this point, it means we didn't
- # find an entry in IFNAME array corresponding to "$1", which likely means
- # there are more interfaces configured than MAXNICS. Let's err on the
- # side of caution and do nothing instead of possibly doing the wrong thing.
- if [ $i -ge $MAXNICS ]; then
- echo "/etc/rc.d/rc.inet1: skipping ${1}, you might need to increase MAXNICS" | $LOGGER
- return
- fi
-
- if [ -z "$container" ]; then
- # If the interface is a bridge, then create it first:
- [ -n "${BRNICS[$i]}" ] && br_open $i
- # If the interface isn't in the kernel yet (but there's an alias for it in
- # modules.conf), then it should be loaded first:
- if [ -z "${IPADDR[$i]}" ] && [ "${USE_DHCP[$i]}" != "yes" ]; then # skip unconfigured interfaces
- debug_log "skipping ${1} early, interface is not configured in /etc/rc.d/rc.inet1.conf"
- return 0
- fi
- if [ ! -e /sys/class/net/${1%%:*} ]; then # no interface yet
- if /sbin/modprobe -c | grep -v "^#" | grep -w "alias ${1}" | grep -vw "alias ${1} off" > /dev/null ; then
- echo "/etc/rc.d/rc.inet1: /sbin/modprobe ${1}" | $LOGGER
- /sbin/modprobe ${1}
- fi
- fi
- fi # end check container
-
- if [ -e /sys/class/net/${1%%:*} ]; then # interface exists
- if ! /sbin/ip address show dev ${1} 2>/dev/null | grep -wq inet || \
- ! /sbin/ip link show dev ${1} | grep -wq "state UP" ; then # interface not up or not configured
- if [ -n "${HWADDR[$i]}" ]; then # Set hardware address _before_ the interface goes up:
- echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} address ${HWADDR[$i]}" | $LOGGER
- /sbin/ip link set dev ${1} address ${HWADDR[$i]}
- fi
- if [ -n "${MTU[$i]}" ]; then # Set MTU to something else than 1500
- echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} mtu ${MTU[$i]}" | $LOGGER
- /sbin/ip link set dev ${1} mtu ${MTU[$i]}
- fi
- if /sbin/ip link show dev ${1} | grep -wq "state DOWN" ; then
- /sbin/ip link set dev ${1} up # Bring up interface
- fi
- if [ -x /etc/rc.d/rc.wireless ]; then
- . /etc/rc.d/rc.wireless ${1} start # Initialize any wireless parameters
- fi
- if [ "${USE_DHCP[$i]}" = "yes" ]; then # use DHCP to bring interface up
- # Clear DHCP_OPTIONS before adding new options to it:
- unset DHCP_OPTIONS
- # Set DHCP_OPTIONS for this interface:
- [ -n "${DHCP_HOSTNAME[$i]}" ] && DHCP_OPTIONS="-h ${DHCP_HOSTNAME[$i]}"
- [ "${DHCP_KEEPRESOLV[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -C resolv.conf"
- [ "${DHCP_KEEPNTP[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -C ntp.conf"
- [ "${DHCP_KEEPGW[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -G"
- [ "${DHCP_DEBUG[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -d"
- [ "${DHCP_NOIPV4LL[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -L"
- [ -n "${DHCP_IPADDR[$i]}" ] && DHCP_OPTIONS="$DHCP_OPTIONS -r ${DHCP_IPADDR[$i]}"
- echo "Polling for DHCP server on interface ${1}:"
- # If you set a timeout, you get one, even if the kernel doesn't think that
- # your device is connected, in case /sys isn't right (which it usually isn't
- # except right after the device is loaded, when it usually is):
- #### (start commented out)
- # This is deactivated for now since the kernel has been returning incorrect
- # results concerning whether the interface carrier is detected.
- #if [ -z "${DHCP_TIMEOUT[$i]}" ]; then
- # /sbin/ip link set dev ${1} up && sleep 1
- # CONNSTATUS="$(cat /sys/class/net/${1}/carrier 2> /dev/null)"
- # /sbin/ip link set dev ${1} down
- # if [ "$CONNSTATUS" = "0" ]; then
- # # The kernel has just told us the cable isn't even plugged in, but we will
- # # give any DHCP server a short chance to reply anyway:
- # echo "No carrier detected on ${1}. Reducing DHCP timeout to 15 seconds."
- # DHCP_TIMEOUT[$i]=15
- # fi
- #fi
- #### (end commented out)
- # 15 seconds should be a reasonable default DHCP timeout. 30 was too much.
- echo "/etc/rc.d/rc.inet1: /sbin/dhcpcd -L -t ${DHCP_TIMEOUT[$i]:-15} ${DHCP_OPTIONS} ${1}" | $LOGGER
- /sbin/dhcpcd -L -t ${DHCP_TIMEOUT[$i]:-15} ${DHCP_OPTIONS} ${1}
- if [ "$?" == "0" ]; then # the dhcp call has succeeded
- if [ -n "${IPALIASES[$i]}" ]; then
- # Add extra IP addresses, if defined, to interface
- num=0
- for ipalias in ${IPALIASES[$i]}; do
- ip="${ipalias%/*}"
- nm="${ipalias#*/}"
- [ -z "$nm" ] || [ "$ip" == "$nm" ] && nm="32"
- /sbin/ip address add ${ip}/${nm} dev ${1} label ${1}:${num}
- num=$(($num + 1))
- done
- fi
- if [ "${PROMISCUOUS[$i]}" = "yes" ]; then
- # Set promiscuous mode on the interface
- /sbin/ip link set dev ${1} promisc on
- fi
- fi
- else # bring up interface using a static IP address
- if [ -n "${IPADDR[$i]}" ]; then # skip unconfigured interfaces
- # Set up the network card:
- echo "/etc/rc.d/rc.inet1: /sbin/ip address add ${IPADDR[$i]}/${NETMASK[$i]} broadcast + dev ${1}" | $LOGGER
- /sbin/ip address add ${IPADDR[$i]}/${NETMASK[$i]} broadcast + dev ${1}
- if /sbin/ip link show dev ${1} | grep -wq "state DOWN" ; then
- /sbin/ip link set dev ${1} up # Bring up interface
- fi
- # Add extra IP addresses, if defined, to interface
- if [ -n "${IPALIASES[$i]}" ]; then
- num=0
- for ipalias in ${IPALIASES[$i]}; do
- ip="${ipalias%/*}"
- nm="${ipalias#*/}"
- [ -z "$nm" ] || [ "$ip" == "$nm" ] && nm="32"
- /sbin/ip address add ${ip}/${nm} dev ${1} label ${1}:${num}
- num=$(($num + 1))
- done
- fi
- if [ "${PROMISCUOUS[$i]}" = "yes" ]; then
- # Set promiscuous mode on the interface
- /sbin/ip link set dev ${1} promisc on
- fi
- else
- debug_log "${1} interface is not configured in /etc/rc.d/rc.inet1.conf"
- fi
- fi
- else
- debug_log "${1} is already up, skipping"
- fi
- else
- debug_log "${1} interface does not exist (yet)"
- fi
-}
-
-# Function to take down a network interface:
-if_down() {
- # Determine position 'i' of this interface in the IFNAME array:
- i=0
- while [ $i -lt $MAXNICS ]; do
- [ "${IFNAME[$i]}" = "${1}" ] && break
- i=$(($i+1))
- done
- if [ $i -ge $MAXNICS ]; then
- echo "/etc/rc.d/rc.inet1: skipping ${1}, you might need to increase MAXNICS" | $LOGGER
- return
- fi
- if [ -e /sys/class/net/${1%%:*} ]; then
- if [ "${USE_DHCP[$i]}" = "yes" ]; then
- echo "/etc/rc.d/rc.inet1: /sbin/dhcpcd -k -d ${1}" | $LOGGER
- /sbin/dhcpcd -k -d ${1} 2> /dev/null || /sbin/ip link set dev ${1} down
- sleep 1
- else
- echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} down" | $LOGGER
- /sbin/ip link set dev ${1} down
- fi
- if [ -x /etc/rc.d/rc.wireless ]; then
- . /etc/rc.d/rc.wireless ${1} stop # Kill wireless daemons if any.
- fi
- # If the interface is a bridge, then destroy it now:
- if [ -n "${BRNICS[$i]}" ]; then
- br_close $i
- fi
- # Flush the address from the interface:
- ip address flush dev ${1}
- fi
-}
-
-#####################
-# GATEWAY FUNCTIONS #
-#####################
-
-# Function to bring up the gateway if there is not yet a default route:
-gateway_up() {
- if ! /sbin/ip route show | grep -wq default ; then
- if [ -n "$GATEWAY" ]; then
- echo "/etc/rc.d/rc.inet1: /sbin/ip route add default via ${GATEWAY}" | $LOGGER
- /sbin/ip route add default via ${GATEWAY} | $LOGGER
- fi
- fi
-}
-
-# Function to take down an existing default gateway:
-gateway_down() {
- if /sbin/ip route show | grep -wq default ; then
- echo "/etc/rc.d/rc.inet1: /sbin/ip route del default" | $LOGGER
- /sbin/ip route del default
- fi
-}
-
-# Function to start the network:
-start() {
- lo_up
- virtif_create
- for i in "${IFNAME[@]}" ; do
- if_up $i
- done
- gateway_up
-}
-
-# Function to stop the network:
-stop() {
- gateway_down
- for i in "${IFNAME[@]}" ; do
- if_down $i
- done
- virtif_destroy
- lo_down
-}
-
-
-############
-### MAIN ###
-############
-
-case "$1" in
-start|up) # "start" (or "up") brings up all configured interfaces:
- start
- ;;
-stop|down) # "stop" (or "down") takes down all configured interfaces:
- stop
- ;;
-restart) # "restart" restarts the network:
- stop
- start
- ;;
-lo_start|lo_up) # Start the loopback interface:
- lo_up
- ;;
-lo_stop|lo_down) # Stop the loopback interface:
- lo_down
- ;;
-*_start|*_up) # Example: "eth1_start" (or "eth1_up") will start the specified interface 'eth1'
- INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1)
- if_up $INTERFACE
- gateway_up
- ;;
-*_stop|*_down) # Example: "eth0_stop" (or "eth0_down") will stop the specified interface 'eth0'
- INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1)
- if_down $INTERFACE
- ;;
-*_restart) # Example: "wlan0_restart" will take 'wlan0' down and up again
- INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1)
- if_down $INTERFACE
- sleep 1
- if_up $INTERFACE
- gateway_up
- ;;
-*) # The default is to bring up all configured interfaces:
- start
-esac
-
-# End of /etc/rc.d/rc.inet1
diff --git a/source/ap/lxc/scripts/rc.inet1.orig b/source/ap/lxc/scripts/rc.inet1.orig
deleted file mode 100644
index cf9da0f46..000000000
--- a/source/ap/lxc/scripts/rc.inet1.orig
+++ /dev/null
@@ -1,376 +0,0 @@
-#!/bin/bash
-# /etc/rc.d/rc.inet1
-# This script is used to bring up the various network interfaces.
-#
-# @(#)/etc/rc.d/rc.inet1 10.2 Sun Jul 24 12:45:56 PDT 2005 (pjv)
-
-############################
-# READ NETWORK CONFIG FILE #
-############################
-
-# Get the configuration information from /etc/rc.d/rc.inet1.conf:
-. /etc/rc.d/rc.inet1.conf
-
-###########
-# LOGGING #
-###########
-
-# If possible, log events in /var/log/messages:
-if [ -f /var/run/syslogd.pid ] && [ -x /usr/bin/logger ]; then
- LOGGER=/usr/bin/logger
-else # output to stdout/stderr:
- LOGGER=/bin/cat
-fi
-
-# Handy wrapper for verbose logging
-debug_log() {
- if [ "$DEBUG_ETH_UP" = "yes" ]; then
- echo "/etc/rc.d/rc.inet1: $*" | $LOGGER
- fi
-}
-
-############################
-# DETERMINE INTERFACE LIST #
-############################
-
-# Compose a list of interfaces from /etc/rc.d/rc.inet1.conf (with a maximum
-# of 6 interfaces, but you can easily enlarge the interface limit
-# - send me a picture of such a box :-).
-# If a value for IFNAME[n] is not set, we assume it is an eth'n' interface.
-# This way, the new script is compatible with older rc.inet1.conf files.
-# The IFNAME array will be used to determine which interfaces to bring up/down.
-MAXNICS=${MAXNICS:-6}
-i=0
-while [ $i -lt $MAXNICS ];
-do
- IFNAME[$i]=${IFNAME[$i]:=eth${i}}
- i=$(($i+1))
-done
-debug_log "List of interfaces: '${IFNAME[*]}'"
-
-######################
-# LOOPBACK FUNCTIONS #
-######################
-
-# Function to bring up the loopback interface. If loopback is
-# already up, do nothing.
-lo_up() {
- if [ -e /sys/class/net/lo ]; then
- if ! /sbin/ip link show dev lo | grep -wq -e "state UP" -e "state UNKNOWN" ; then
- echo "/etc/rc.d/rc.inet1: /sbin/ip address add 127.0.0.1/8 dev lo" | $LOGGER
- /sbin/ip address add 127.0.0.1/8 dev lo
- /sbin/ip link set dev lo up
- echo "/etc/rc.d/rc.inet1: /sbin/ip route add 127.0.0.0/8 dev lo" | $LOGGER
- /sbin/ip route add 127.0.0.0/8 dev lo
- fi
- fi
-}
-
-# Function to take down the loopback interface:
-lo_down() {
- if [ -e /sys/class/net/lo ]; then
- echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev lo down" | $LOGGER
- /sbin/ip link set dev lo down
- fi
-}
-
-#######################
-# INTERFACE FUNCTIONS #
-#######################
-
-# Function to create virtual interfaces
-virtif_create() {
- # argument is 'i' - the position of this interface in the VIRTIFNAME array.
- # this loop goes from i=0 to i=number_of_configured_virtual_interfaces_minus_one
- # which means it doesn't do anything if there are none.
- for i in $(seq 0 $((${#VIRTIFNAME[@]} - 1))); do
- /sbin/ip tuntap add dev ${VIRTIFNAME[$i]} mode ${VIRTIFTYPE[$i]} user ${VIRTIFUSER[$i]} group ${VIRTIFGROUP[$i]}
- done
-}
-
-# Function to destory virtual interfaces
-virtif_destroy() {
- # argument is 'i' - the position of this interface in the VIRTIFNAME array.
- for i in $(seq 0 $((${#VIRTIFNAME[@]} - 1))); do
- /sbin/ip tuntap del dev ${VIRTIFNAME[$i]} mode ${VIRTIFTYPE[$i]}
- done
-}
-
-# Function to assemble a bridge interface.
-br_open() {
- # argument is 'i' - the position of this interface in the IFNAME array.
- /sbin/ip link add name ${IFNAME[$1]} type bridge
- for BRIF in ${BRNICS[$1]}; do
- /sbin/ip link set dev $BRIF down
- /sbin/ip address add 0.0.0.0 dev $BRIF
- /sbin/ip link set dev $BRIF master ${IFNAME[$1]}
- /sbin/ip link set dev $BRIF up
- done
- /sbin/ip link set dev ${IFNAME[$1]} up
-}
-
-# Function to disassemble a bridge interface.
-br_close() {
- /sbin/ip link set dev ${IFNAME[$1]} down
- # argument is 'i' - the position of this interface in the IFNAME array.
- #for BRIF in ${BRNICS[$1]}; do
- for BRIF in $(ls --indicator-style=none /sys/class/net/${IFNAME[$1]}/brif/)
- do
- /sbin/ip link set dev $BRIF nomaster
- done
- /sbin/ip link set dev ${IFNAME[$1]} down
- /sbin/ip link del ${IFNAME[$1]}
-}
-
-# Function to bring up a network interface. If the interface is
-# already up or does not yet exist (perhaps because the kernel driver
-# is not loaded yet), do nothing.
-if_up() {
- # Determine position 'i' of this interface in the IFNAME array:
- i=0
- while [ $i -lt $MAXNICS ]; do
- [ "${IFNAME[$i]}" = "${1}" ] && break
- i=$(($i+1))
- done
- # If "i" is greater or equal to "MAXNICS" at this point, it means we didn't
- # find an entry in IFNAME array corresponding to "$1", which likely means
- # there are more interfaces configured than MAXNICS. Let's err on the
- # side of caution and do nothing instead of possibly doing the wrong thing.
- if [ $i -ge $MAXNICS ]; then
- echo "/etc/rc.d/rc.inet1: skipping ${1}, you might need to increase MAXNICS" | $LOGGER
- return
- fi
- # If the interface is a bridge, then create it first:
- [ -n "${BRNICS[$i]}" ] && br_open $i
- # If the interface isn't in the kernel yet (but there's an alias for it in
- # modules.conf), then it should be loaded first:
- if [ -z "${IPADDR[$i]}" ] && [ "${USE_DHCP[$i]}" != "yes" ]; then # skip unconfigured interfaces
- debug_log "skipping ${1} early, interface is not configured in /etc/rc.d/rc.inet1.conf"
- return 0
- fi
- if [ ! -e /sys/class/net/${1%%:*} ]; then # no interface yet
- if /sbin/modprobe -c | grep -v "^#" | grep -w "alias ${1}" | grep -vw "alias ${1} off" > /dev/null ; then
- echo "/etc/rc.d/rc.inet1: /sbin/modprobe ${1}" | $LOGGER
- /sbin/modprobe ${1}
- fi
- fi
- if [ -e /sys/class/net/${1%%:*} ]; then # interface exists
- if ! /sbin/ip address show dev ${1} 2>/dev/null | grep -wq inet || \
- ! /sbin/ip link show dev ${1} | grep -wq "state UP" ; then # interface not up or not configured
- if [ -n "${HWADDR[$i]}" ]; then # Set hardware address _before_ the interface goes up:
- echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} address ${HWADDR[$i]}" | $LOGGER
- /sbin/ip link set dev ${1} address ${HWADDR[$i]}
- fi
- if [ -n "${MTU[$i]}" ]; then # Set MTU to something else than 1500
- echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} mtu ${MTU[$i]}" | $LOGGER
- /sbin/ip link set dev ${1} mtu ${MTU[$i]}
- fi
- if /sbin/ip link show dev ${1} | grep -wq "state DOWN" ; then
- /sbin/ip link set dev ${1} up # Bring up interface
- fi
- if [ -x /etc/rc.d/rc.wireless ]; then
- . /etc/rc.d/rc.wireless ${1} start # Initialize any wireless parameters
- fi
- if [ "${USE_DHCP[$i]}" = "yes" ]; then # use DHCP to bring interface up
- # Clear DHCP_OPTIONS before adding new options to it:
- unset DHCP_OPTIONS
- # Set DHCP_OPTIONS for this interface:
- [ -n "${DHCP_HOSTNAME[$i]}" ] && DHCP_OPTIONS="-h ${DHCP_HOSTNAME[$i]}"
- [ "${DHCP_KEEPRESOLV[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -C resolv.conf"
- [ "${DHCP_KEEPNTP[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -C ntp.conf"
- [ "${DHCP_KEEPGW[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -G"
- [ "${DHCP_DEBUG[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -d"
- [ "${DHCP_NOIPV4LL[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -L"
- [ -n "${DHCP_IPADDR[$i]}" ] && DHCP_OPTIONS="$DHCP_OPTIONS -r ${DHCP_IPADDR[$i]}"
- echo "Polling for DHCP server on interface ${1}:"
- # If you set a timeout, you get one, even if the kernel doesn't think that
- # your device is connected, in case /sys isn't right (which it usually isn't
- # except right after the device is loaded, when it usually is):
- #### (start commented out)
- # This is deactivated for now since the kernel has been returning incorrect
- # results concerning whether the interface carrier is detected.
- #if [ -z "${DHCP_TIMEOUT[$i]}" ]; then
- # /sbin/ip link set dev ${1} up && sleep 1
- # CONNSTATUS="$(cat /sys/class/net/${1}/carrier 2> /dev/null)"
- # /sbin/ip link set dev ${1} down
- # if [ "$CONNSTATUS" = "0" ]; then
- # # The kernel has just told us the cable isn't even plugged in, but we will
- # # give any DHCP server a short chance to reply anyway:
- # echo "No carrier detected on ${1}. Reducing DHCP timeout to 15 seconds."
- # DHCP_TIMEOUT[$i]=15
- # fi
- #fi
- #### (end commented out)
- # 15 seconds should be a reasonable default DHCP timeout. 30 was too much.
- echo "/etc/rc.d/rc.inet1: /sbin/dhcpcd -L -t ${DHCP_TIMEOUT[$i]:-15} ${DHCP_OPTIONS} ${1}" | $LOGGER
- /sbin/dhcpcd -L -t ${DHCP_TIMEOUT[$i]:-15} ${DHCP_OPTIONS} ${1}
- if [ "$?" == "0" ]; then # the dhcp call has succeeded
- if [ -n "${IPALIASES[$i]}" ]; then
- # Add extra IP addresses, if defined, to interface
- num=0
- for ipalias in ${IPALIASES[$i]}; do
- ip="${ipalias%/*}"
- nm="${ipalias#*/}"
- [ -z "$nm" ] || [ "$ip" == "$nm" ] && nm="32"
- /sbin/ip address add ${ip}/${nm} dev ${1} label ${1}:${num}
- num=$(($num + 1))
- done
- fi
- if [ "${PROMISCUOUS[$i]}" = "yes" ]; then
- # Set promiscuous mode on the interface
- /sbin/ip link set dev ${1} promisc on
- fi
- fi
- else # bring up interface using a static IP address
- if [ -n "${IPADDR[$i]}" ]; then # skip unconfigured interfaces
- # Set up the network card:
- echo "/etc/rc.d/rc.inet1: /sbin/ip address add ${IPADDR[$i]}/${NETMASK[$i]} broadcast + dev ${1}" | $LOGGER
- /sbin/ip address add ${IPADDR[$i]}/${NETMASK[$i]} broadcast + dev ${1}
- if /sbin/ip link show dev ${1} | grep -wq "state DOWN" ; then
- /sbin/ip link set dev ${1} up # Bring up interface
- fi
- # Add extra IP addresses, if defined, to interface
- if [ -n "${IPALIASES[$i]}" ]; then
- num=0
- for ipalias in ${IPALIASES[$i]}; do
- ip="${ipalias%/*}"
- nm="${ipalias#*/}"
- [ -z "$nm" ] || [ "$ip" == "$nm" ] && nm="32"
- /sbin/ip address add ${ip}/${nm} dev ${1} label ${1}:${num}
- num=$(($num + 1))
- done
- fi
- if [ "${PROMISCUOUS[$i]}" = "yes" ]; then
- # Set promiscuous mode on the interface
- /sbin/ip link set dev ${1} promisc on
- fi
- else
- debug_log "${1} interface is not configured in /etc/rc.d/rc.inet1.conf"
- fi
- fi
- else
- debug_log "${1} is already up, skipping"
- fi
- else
- debug_log "${1} interface does not exist (yet)"
- fi
-}
-
-# Function to take down a network interface:
-if_down() {
- # Determine position 'i' of this interface in the IFNAME array:
- i=0
- while [ $i -lt $MAXNICS ]; do
- [ "${IFNAME[$i]}" = "${1}" ] && break
- i=$(($i+1))
- done
- if [ $i -ge $MAXNICS ]; then
- echo "/etc/rc.d/rc.inet1: skipping ${1}, you might need to increase MAXNICS" | $LOGGER
- return
- fi
- if [ -e /sys/class/net/${1%%:*} ]; then
- if [ "${USE_DHCP[$i]}" = "yes" ]; then
- echo "/etc/rc.d/rc.inet1: /sbin/dhcpcd -k -d ${1}" | $LOGGER
- /sbin/dhcpcd -k -d ${1} 2> /dev/null || /sbin/ip link set dev ${1} down
- sleep 1
- else
- echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} down" | $LOGGER
- /sbin/ip link set dev ${1} down
- fi
- if [ -x /etc/rc.d/rc.wireless ]; then
- . /etc/rc.d/rc.wireless ${1} stop # Kill wireless daemons if any.
- fi
- # If the interface is a bridge, then destroy it now:
- if [ -n "${BRNICS[$i]}" ]; then
- br_close $i
- fi
- # Flush the address from the interface:
- ip address flush dev ${1}
- fi
-}
-
-#####################
-# GATEWAY FUNCTIONS #
-#####################
-
-# Function to bring up the gateway if there is not yet a default route:
-gateway_up() {
- if ! /sbin/ip route show | grep -wq default ; then
- if [ -n "$GATEWAY" ]; then
- echo "/etc/rc.d/rc.inet1: /sbin/ip route add default via ${GATEWAY}" | $LOGGER
- /sbin/ip route add default via ${GATEWAY} | $LOGGER
- fi
- fi
-}
-
-# Function to take down an existing default gateway:
-gateway_down() {
- if /sbin/ip route show | grep -wq default ; then
- echo "/etc/rc.d/rc.inet1: /sbin/ip route del default" | $LOGGER
- /sbin/ip route del default
- fi
-}
-
-# Function to start the network:
-start() {
- lo_up
- virtif_create
- for i in "${IFNAME[@]}" ; do
- if_up $i
- done
- gateway_up
-}
-
-# Function to stop the network:
-stop() {
- gateway_down
- for i in "${IFNAME[@]}" ; do
- if_down $i
- done
- virtif_destroy
- lo_down
-}
-
-
-############
-### MAIN ###
-############
-
-case "$1" in
-start|up) # "start" (or "up") brings up all configured interfaces:
- start
- ;;
-stop|down) # "stop" (or "down") takes down all configured interfaces:
- stop
- ;;
-restart) # "restart" restarts the network:
- stop
- start
- ;;
-lo_start|lo_up) # Start the loopback interface:
- lo_up
- ;;
-lo_stop|lo_down) # Stop the loopback interface:
- lo_down
- ;;
-*_start|*_up) # Example: "eth1_start" (or "eth1_up") will start the specified interface 'eth1'
- INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1)
- if_up $INTERFACE
- gateway_up
- ;;
-*_stop|*_down) # Example: "eth0_stop" (or "eth0_down") will stop the specified interface 'eth0'
- INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1)
- if_down $INTERFACE
- ;;
-*_restart) # Example: "wlan0_restart" will take 'wlan0' down and up again
- INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1)
- if_down $INTERFACE
- sleep 1
- if_up $INTERFACE
- gateway_up
- ;;
-*) # The default is to bring up all configured interfaces:
- start
-esac
-
-# End of /etc/rc.d/rc.inet1
diff --git a/source/ap/man-db/dont_write_in_usr.diff b/source/ap/man-db/dont_write_in_usr.diff
deleted file mode 100644
index 8f7158598..000000000
--- a/source/ap/man-db/dont_write_in_usr.diff
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -Naur man-db-2.7.6.1/configure man-db-2.7.6.1.patched/configure
---- man-db-2.7.6.1/configure 2016-12-12 07:43:48.000000000 -0500
-+++ man-db-2.7.6.1.patched/configure 2017-03-04 16:49:57.389893574 -0500
-@@ -25809,46 +25809,8 @@
-
-
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long file names" >&5
--$as_echo_n "checking for long file names... " >&6; }
--if ${ac_cv_sys_long_file_names+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- ac_cv_sys_long_file_names=yes
--# Test for long file names in all the places we know might matter:
--# . the current directory, where building will happen
--# $prefix/lib where we will be installing things
--# $exec_prefix/lib likewise
--# $TMPDIR if set, where it might want to write temporary files
--# /tmp where it might want to write temporary files
--# /var/tmp likewise
--# /usr/tmp likewise
--for ac_dir in . "$TMPDIR" /tmp /var/tmp /usr/tmp "$prefix/lib" "$exec_prefix/lib"; do
-- # Skip $TMPDIR if it is empty or bogus, and skip $exec_prefix/lib
-- # in the usual case where exec_prefix is '${prefix}'.
-- case $ac_dir in #(
-- . | /* | ?:[\\/]*) ;; #(
-- *) continue;;
-- esac
-- test -w "$ac_dir/." || continue # It is less confusing to not echo anything here.
-- ac_xdir=$ac_dir/cf$$
-- (umask 077 && mkdir "$ac_xdir" 2>/dev/null) || continue
-- ac_tf1=$ac_xdir/conftest9012345
-- ac_tf2=$ac_xdir/conftest9012346
-- touch "$ac_tf1" 2>/dev/null && test -f "$ac_tf1" && test ! -f "$ac_tf2" ||
-- ac_cv_sys_long_file_names=no
-- rm -f -r "$ac_xdir" 2>/dev/null
-- test $ac_cv_sys_long_file_names = no && break
--done
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_long_file_names" >&5
--$as_echo "$ac_cv_sys_long_file_names" >&6; }
--if test $ac_cv_sys_long_file_names = yes; then
--
- $as_echo "#define HAVE_LONG_FILE_NAMES 1" >>confdefs.h
-
--fi
--
-
-
-
diff --git a/source/ap/man-db/man-db.SlackBuild b/source/ap/man-db/man-db.SlackBuild
index 60f749c50..7868dfe40 100755
--- a/source/ap/man-db/man-db.SlackBuild
+++ b/source/ap/man-db/man-db.SlackBuild
@@ -8,7 +8,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=man-db
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
MAN2HTML=${MAN2HTML:-20180101}
@@ -78,7 +78,7 @@ fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-OUTPUT=${OUTPUT:-/tmp}
+OUTPUT=${OUTPUT:-$TMP}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -174,13 +174,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 {} \+
-# 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
-# wrong (it assumes configure is always being run as root). We already
-# know we have long filename support, because we live in the 21st century
-# now, so this patch gets rid of the test and force-enables it.
-zcat $CWD/dont_write_in_usr.diff.gz | patch -p1 --verbose || exit 1
-
# The circumlocutions below are needed because doing it the sane way:
# libpipeline_LIBS="-L$PKG/usr/lib$LIBDIRSUFFIX -lpipeline"
# gets broken by libtool (it *insists* on replacing -lpipeline with
@@ -250,8 +243,8 @@ rm -rf $PKG/etc/man_db.conf
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- ChangeLog FAQ* NEWS* README* docs/COPYING* docs/HACKING docs/INSTALL.quick \
- docs/TODO docs/*lsm docs/*example* \
+ ChangeLog FAQ* NEWS* README* COPYING* docs/HACKING* docs/INSTALL.quick \
+ docs/TODO* docs/*lsm docs/*example* \
$PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install
diff --git a/source/ap/man-db/man-db.cron b/source/ap/man-db/man-db.cron
index d8cd84d23..caf447742 100644
--- a/source/ap/man-db/man-db.cron
+++ b/source/ap/man-db/man-db.cron
@@ -10,5 +10,4 @@ mkdir -p /var/cache/man
# Regenerate the index databases caches used by man-db.
# These increase perfomance and provide features such as whatis and apropos.
-ionice -c3 nice -n 19 /usr/bin/mandb --no-purge --quiet
-
+ionice -c3 nice -n 19 /usr/bin/mandb --quiet
diff --git a/source/ap/man-pages/man-pages.SlackBuild b/source/ap/man-pages/man-pages.SlackBuild
index 278d17180..7acba4656 100755
--- a/source/ap/man-pages/man-pages.SlackBuild
+++ b/source/ap/man-pages/man-pages.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008-2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008-2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=man-pages
-VERSION=${VERSION:-$(echo man-pages-5.*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(/bin/ls man-pages-*.tar.?z | head -n 1 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
ARCH=noarch
BUILD=${BUILD:-1}
@@ -44,23 +44,23 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf man-pages-$VERSION
tar xvf $CWD/man-pages-$VERSION.tar.?z
-tar xvf $CWD/man-pages-posix-2013-a.tar.?z
+tar xvf $CWD/man-pages-posix-*.tar.?z
echo "Fixing permissions..."
-chown -R root:root man-pages-$VERSION man-pages-posix-2013-a
-chmod -R a-s,u+rw,go+r-w man-pages-$VERSION man-pages-posix-2013-a
+chown -R root:root man-pages-$VERSION man-pages-posix-*
+chmod -R a-s,u+rw,go+r-w man-pages-$VERSION man-pages-posix-*
find man-pages-$VERSION \
\( -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 man-pages-posix-2013-a \
+find man-pages-posix-* \
\( -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 {} \+
mkdir -p $PKG/usr/man
-cp -a man-pages-$VERSION/man? $PKG/usr/man
+cp -a man-pages-$VERSION/man* $PKG/usr/man
# Are these other POSIX manpages of any real usefulness here?
# Granted there may be some historical interest, and it's nice
@@ -69,8 +69,10 @@ cp -a man-pages-$VERSION/man? $PKG/usr/man
# isn't likely to help most people and may lead to confusion.
# The pthread manpages are the only POSIX ones that anyone
# has requested saving. If I missed anything important, let me know.
-cp -a man-pages-posix-2013-a/man0p/pthread.h.0p $PKG/usr/man/man3/pthread.h.3p
-cp -a man-pages-posix-2013-a/man3p/pthread_* $PKG/usr/man/man3
+cp -a man-pages-posix-*/man0p/pthread.h.0p $PKG/usr/man/man3/pthread.h.3p
+cp -a man-pages-posix-*/man3p/pthread_* $PKG/usr/man/man3
+# Adding this one to avoid getting ksh for sh:
+cp -a man-pages-posix-*/man1p/sh.1p $PKG/usr/man/man1
# Compress the pages:
echo "Compressing manpages..."
@@ -99,7 +101,7 @@ rm -r $TEMPDIR
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
man-pages-$VERSION/{CONTRIBUTING,Changes,README,man-pages-${VERSION}.Announce,man-pages-${VERSION}.lsm} \
- man-pages-posix-2013-a/POSIX-COPYRIGHT \
+ man-pages-posix-*/POSIX-COPYRIGHT \
$PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
diff --git a/source/ap/mariadb/doinst.sh b/source/ap/mariadb/doinst.sh
index 12bad9bb9..f65d4269f 100644
--- a/source/ap/mariadb/doinst.sh
+++ b/source/ap/mariadb/doinst.sh
@@ -22,14 +22,16 @@ config etc/rc.d/rc.mysqld.new
config etc/mysqlaccess.conf.new
config etc/my.cnf.new
config etc/my.cnf.d/client.cnf.new
+config etc/my.cnf.d/hashicorp_key_management.cnf.new
config etc/my.cnf.d/mysql-clients.cnf.new
config etc/my.cnf.d/s3.cnf.new
config etc/my.cnf.d/server.cnf.new
config etc/my.cnf.d/spider.cnf.new
-config etc/logrotate.d/mysql.new
+config etc/logrotate.d/mariadb.new
-# Not supported in every $ARCH:
-if [ -r etc/my.cnf.d/tokudb.cnf.new ]; then
- config etc/my.cnf.d/tokudb.cnf.new
+# This one is only comments, so remove it if it's left behind:
+if [ -r etc/security/user_map.conf.new ]; then
+ config etc/security/user_map.conf.new
fi
+rm -f etc/security/user_map.conf.new
diff --git a/source/ap/mariadb/mariadb.SlackBuild b/source/ap/mariadb/mariadb.SlackBuild
index 634280605..e89014d08 100755
--- a/source/ap/mariadb/mariadb.SlackBuild
+++ b/source/ap/mariadb/mariadb.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 2017, 2018, 2020, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 2017, 2018, 2020, 2021, 2022, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
# Copyright 2011, 2012, 2013, 2014, 2017 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
@@ -90,13 +90,6 @@ rm -rf ${PKGNAM}-$VERSION
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-# Fix mysql_install_db if PAM is not installed:
-if [ ! -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
- zcat $CWD/mysql_install_db.nopam.diff.gz | patch -p1 --verbose || exit 1
- # Also no PAM plugin then:
- zcat $CWD/mysql.no.plugin_auth_pam.diff.gz | patch -p1 --verbose || exit 1
-fi
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -174,6 +167,8 @@ if [ "$KEEPSTATIC" = "NO" ]; then
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.a
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqld.a
+ # Remove any resulting dangling symlinks:
+ ( cd $PKG ; find . -xtype l | xargs rm )
fi
if [ "$KEEPTESTS" = "NO" ]; then
@@ -196,12 +191,12 @@ rm -rf $PKG/usr/sql-bench
# This is the directory where databases are stored
mkdir -p $PKG/var/lib/mysql
-chown mysql.mysql $PKG/var/lib/mysql
+chown mysql:mysql $PKG/var/lib/mysql
chmod 0750 $PKG/var/lib/mysql
# This is where the socket is stored
mkdir -p $PKG/var/run/mysql
-chown mysql.mysql $PKG/var/run/mysql
+chown mysql:mysql $PKG/var/run/mysql
chmod 0755 $PKG/var/run/mysql
# Add init script:
@@ -215,8 +210,9 @@ install -m 644 scripts/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new
# Mark config files under /etc as .new
mv $PKG/etc/my.cnf $PKG/etc/my.cnf.new
-mv $PKG/etc/logrotate.d/mysql $PKG/etc/logrotate.d/mysql.new
-for i in client mysql-clients s3 server spider tokudb; do
+mv $PKG/etc/security/user_map.conf $PKG/etc/security/user_map.conf.new
+mv $PKG/etc/logrotate.d/mariadb $PKG/etc/logrotate.d/mariadb.new
+for i in client hashicorp_key_management mysql-clients s3 server spider ; do
mv $PKG/etc/my.cnf.d/$i.cnf $PKG/etc/my.cnf.d/$i.cnf.new
done
diff --git a/source/ap/mariadb/mysql.no.plugin_auth_pam.diff b/source/ap/mariadb/mysql.no.plugin_auth_pam.diff
deleted file mode 100644
index 34eedf5af..000000000
--- a/source/ap/mariadb/mysql.no.plugin_auth_pam.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./cmake/build_configurations/mysql_release.cmake.orig 2019-09-08 16:02:29.000000000 -0500
-+++ ./cmake/build_configurations/mysql_release.cmake 2019-09-11 14:56:53.845129062 -0500
-@@ -124,7 +124,7 @@
-
- IF(UNIX)
- SET(WITH_EXTRA_CHARSETS all CACHE STRING "")
-- SET(PLUGIN_AUTH_PAM YES)
-+ SET(PLUGIN_AUTH_PAM NO)
-
- IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- IF(NOT IGNORE_AIO_CHECK)
diff --git a/source/ap/mariadb/mysql_install_db.nopam.diff b/source/ap/mariadb/mysql_install_db.nopam.diff
deleted file mode 100644
index 70503865a..000000000
--- a/source/ap/mariadb/mysql_install_db.nopam.diff
+++ /dev/null
@@ -1,48 +0,0 @@
---- ./scripts/mysql_install_db.sh.orig 2020-01-28 11:31:09.088303502 -0600
-+++ ./scripts/mysql_install_db.sh 2020-01-28 11:35:47.822283410 -0600
-@@ -480,25 +480,26 @@
-
- if test -n "$user"
- then
-- if test -z "$srcdir" -a "$in_rpm" -eq 0
-- then
-- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
-- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
-- if test $? -ne 0
-- then
-- echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
-- echo "It must be root, the PAM authentication plugin doesn't work otherwise.."
-- echo
-- fi
-- chown $user "$pamtooldir/auth_pam_tool_dir" && \
-- chmod 0700 "$pamtooldir/auth_pam_tool_dir"
-- if test $? -ne 0
-- then
-- echo "Cannot change ownership of the '$pamtooldir/auth_pam_tool_dir' directory"
-- echo "to the '$user' user. Check that you have the necessary permissions and try again."
-- echo
-- fi
-- fi
-+ # Commented out since Slackware does not currently provide PAM:
-+ #if test -z "$srcdir" -a "$in_rpm" -eq 0
-+ #then
-+ # chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
-+ # chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
-+ # if test $? -ne 0
-+ # then
-+ # echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
-+ # echo "It must be root, the PAM authentication plugin doesn't work otherwise.."
-+ # echo
-+ # fi
-+ # chown $user "$pamtooldir/auth_pam_tool_dir" && \
-+ # chmod 0700 "$pamtooldir/auth_pam_tool_dir"
-+ # if test $? -ne 0
-+ # then
-+ # echo "Cannot change ownership of the '$pamtooldir/auth_pam_tool_dir' directory"
-+ # echo "to the '$user' user. Check that you have the necessary permissions and try again."
-+ # echo
-+ # fi
-+ #fi
- args="$args --user=$user"
- fi
-
diff --git a/source/ap/mc/mc-3605-extfs.c-fix-buffer-overflow.patch b/source/ap/mc/mc-3605-extfs.c-fix-buffer-overflow.patch
deleted file mode 100644
index bf0761f39..000000000
--- a/source/ap/mc/mc-3605-extfs.c-fix-buffer-overflow.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 5cb89fd2150ac91d791b0360631d3fd08c5fb1d4 Mon Sep 17 00:00:00 2001
-From: Andreas Mohr <and@gmx.li>
-Date: Sat, 12 Mar 2016 16:20:43 +0000
-Subject: [PATCH] extfs.c: fix buffer overflow
-
-When handling with copy/move commands inside of archive we can lead into buffer overflow
-steps to roproduce:
- create simple 7z archive
- open it
- rename single filename
- hit buffer overflow
-
-found by clang/AddressSanitizer
-
-==17794==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000273593 at pc 0x00000045f2a9 bp 0x7ffc94aa8e20 sp 0x7ffc94aa85d0
-READ of size 2 at 0x602000273593 thread T0
- #0 0x45f2a8 in __interceptor_strchr.part.44 (/usr/bin/mc+0x45f2a8)
- #1 0x70fb72 in extfs_find_entry_int /tmp/portage/app-misc/mc-9999/work/mc-9999/src/vfs/extfs/extfs.c:312:13
- #2 0x70f562 in extfs_find_entry /tmp/portage/app-misc/mc-9999/work/mc-9999/src/vfs/extfs/extfs.c:331:11
- #3 0x712131 in extfs_internal_stat /tmp/portage/app-misc/mc-9999/work/mc-9999/src/vfs/extfs/extfs.c:1117:13
- #4 0x7f3de308ab59 in mc_stat /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/vfs/interface.c:556:46
- #5 0x538575 in file_mask_dialog /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/filegui.c:1340:25
- #6 0x6e0753 in panel_operate /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/file.c:2718:13
- #7 0x6bdabd in rename_cmd /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/cmd.c:811:9
- #8 0x551ef4 in midnight_execute_cmd /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/midnight.c:1307:9
- #9 0x7f3de30a49e7 in buttonbar_callback /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/buttonbar.c:172:42
- #10 0x7f3de30b2305 in dlg_try_hotkey /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:464:23
- #11 0x7f3de30b199a in dlg_key_event /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:509:19
- #12 0x7f3de30b2ef9 in frontend_dlg_run /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:570:9
- #13 0x7f3de30b2af5 in dlg_run /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:1267:5
- #14 0x5507bb in do_nc /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/midnight.c:1827:9
- #15 0x50b874 in main /tmp/portage/app-misc/mc-9999/work/mc-9999/src/main.c:403:21
- #16 0x7f3de1ec78fb in __libc_start_main (/lib64/libc.so.6+0x208fb)
- #17 0x427f48 in _start (/usr/bin/mc+0x427f48)
-
-Signed-off-by: Andreas Mohr <and@gmx.li>
----
- src/vfs/extfs/extfs.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/vfs/extfs/extfs.c b/src/vfs/extfs/extfs.c
-index 2e7c87b..f7cdaee 100644
---- a/src/vfs/extfs/extfs.c
-+++ b/src/vfs/extfs/extfs.c
-@@ -307,6 +307,8 @@ extfs_find_entry_int (struct entry *dir, const char *name, GSList * list,
- }
- }
- /* Next iteration */
-+ if (c == '\0')
-+ break;
- *q = c;
- p = q + 1;
- q = strchr (p, PATH_SEP);
diff --git a/source/ap/mc/mc.SlackBuild b/source/ap/mc/mc.SlackBuild
index f4f74a83f..19082a848 100755
--- a/source/ap/mc/mc.SlackBuild
+++ b/source/ap/mc/mc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2013, 2016, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013, 2016, 2018, 2019, 2023, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -73,9 +73,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# Upstream fixes:
-zcat $CWD/mc-3605-extfs.c-fix-buffer-overflow.patch.gz | patch -p1 --verbose || exit 1
-
if [ ! -x ./configure ]; then
./autogen.sh
fi
@@ -87,18 +84,11 @@ CFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--localstatedir=/var \
--docdir=/usr/doc/mc-$VERSION \
- --enable-extcharset \
- --enable-netcode \
--enable-background \
--enable-charset \
--enable-aspell \
--with-gpm-mouse \
- --with-ext2undel \
--with-x=yes \
- --with-vfs \
- --enable-vfs-smb \
- --with-smb-configdir=/etc/samba \
- --with-smb-codepagedir=/etc/codepages \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
diff --git a/source/ap/moc/0001-Refreshed-opus-patch-from-Tomasz-Golinski-tomaszg-al.patch b/source/ap/moc/0001-Refreshed-opus-patch-from-Tomasz-Golinski-tomaszg-al.patch
new file mode 100644
index 000000000..60751bdd3
--- /dev/null
+++ b/source/ap/moc/0001-Refreshed-opus-patch-from-Tomasz-Golinski-tomaszg-al.patch
@@ -0,0 +1,586 @@
+From 9cff5bc22740bf80e59b76f20ccaa2888d9d6426 Mon Sep 17 00:00:00 2001
+From: Elimar Riesebieter <riesebie@lxtec.de>
+Date: Sun, 27 Nov 2016 12:12:43 +0100
+Subject: [PATCH] Refreshed opus patch from Tomasz Golinski
+ <tomaszg@alpha.uwb.edu.pl>
+
+---
+ decoder_plugins/Makefile.am | 4 +
+ decoder_plugins/decoders.m4 | 1 +
+ decoder_plugins/opus/Makefile.am | 6 +
+ decoder_plugins/opus/opus.c | 473 +++++++++++++++++++++++++++++++++++++++
+ decoder_plugins/opus/opus.m4 | 25 +++
+ options.c | 4 +-
+ 6 files changed, 511 insertions(+), 2 deletions(-)
+ create mode 100644 decoder_plugins/opus/Makefile.am
+ create mode 100644 decoder_plugins/opus/opus.c
+ create mode 100644 decoder_plugins/opus/opus.m4
+
+diff --git a/decoder_plugins/Makefile.am b/decoder_plugins/Makefile.am
+index 32a6376..d746099 100644
+--- a/decoder_plugins/Makefile.am
++++ b/decoder_plugins/Makefile.am
+@@ -16,6 +16,10 @@ if BUILD_vorbis
+ SUBDIRS += vorbis
+ endif
+
++if BUILD_opus
++ SUBDIRS += opus
++endif
++
+ if BUILD_flac
+ SUBDIRS += flac
+ endif
+diff --git a/decoder_plugins/decoders.m4 b/decoder_plugins/decoders.m4
+index 77bc2b3..a851967 100644
+--- a/decoder_plugins/decoders.m4
++++ b/decoder_plugins/decoders.m4
+@@ -20,6 +20,7 @@ m4_include(decoder_plugins/flac/flac.m4)
+ m4_include(decoder_plugins/modplug/modplug.m4)
+ m4_include(decoder_plugins/mp3/mp3.m4)
+ m4_include(decoder_plugins/musepack/musepack.m4)
++m4_include(decoder_plugins/opus/opus.m4)
+ m4_include(decoder_plugins/sidplay2/sidplay2.m4)
+ m4_include(decoder_plugins/sndfile/sndfile.m4)
+ m4_include(decoder_plugins/speex/speex.m4)
+diff --git a/decoder_plugins/opus/Makefile.am b/decoder_plugins/opus/Makefile.am
+new file mode 100644
+index 0000000..d0c183d
+--- /dev/null
++++ b/decoder_plugins/opus/Makefile.am
+@@ -0,0 +1,6 @@
++lib_LTLIBRARIES = libopus_decoder.la
++libdir = $(plugindir)/$(DECODER_PLUGIN_DIR)
++libopus_decoder_la_LDFLAGS = @PLUGIN_LDFLAGS@
++libopus_decoder_la_LIBADD = $(OPUSFILE_LIBS)
++libopus_decoder_la_CFLAGS = $(OPUSFILE_CFLAGS) -I$(top_srcdir)
++libopus_decoder_la_SOURCES = opus.c
+diff --git a/decoder_plugins/opus/opus.c b/decoder_plugins/opus/opus.c
+new file mode 100644
+index 0000000..6cc9d55
+--- /dev/null
++++ b/decoder_plugins/opus/opus.c
+@@ -0,0 +1,473 @@
++/*
++ * MOC - music on console
++ * Copyright (C) 2002 - 2005 Damian Pietras <daper@daper.net>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ */
++
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
++#include <string.h>
++#include <strings.h>
++#include <stdio.h>
++#include <errno.h>
++#include <assert.h>
++#include <opusfile.h>
++
++#define DEBUG
++
++#include "common.h"
++#include "log.h"
++#include "decoder.h"
++#include "io.h"
++#include "audio.h"
++
++
++struct opus_data
++{
++ struct io_stream *stream;
++ OggOpusFile *of;
++ int last_section;
++ opus_int32 bitrate;
++ opus_int32 avg_bitrate;
++ int duration;
++ struct decoder_error error;
++ int ok; /* was this stream successfully opened? */
++ int tags_change; /* the tags were changed from the last call of
++ ogg_current_tags */
++ struct file_tags *tags;
++};
++
++
++static void get_comment_tags (OggOpusFile *of, struct file_tags *info)
++{
++ int i;
++ const OpusTags *comments;
++
++ comments = op_tags (of, -1);
++ for (i = 0; i < comments->comments; i++) {
++ if (!strncasecmp(comments->user_comments[i], "title=",
++ strlen ("title=")))
++ info->title = xstrdup(comments->user_comments[i]
++ + strlen ("title="));
++ else if (!strncasecmp(comments->user_comments[i],
++ "artist=", strlen ("artist=")))
++ info->artist = xstrdup (
++ comments->user_comments[i]
++ + strlen ("artist="));
++ else if (!strncasecmp(comments->user_comments[i],
++ "album=", strlen ("album=")))
++ info->album = xstrdup (
++ comments->user_comments[i]
++ + strlen ("album="));
++ else if (!strncasecmp(comments->user_comments[i],
++ "tracknumber=",
++ strlen ("tracknumber=")))
++ info->track = atoi (comments->user_comments[i]
++ + strlen ("tracknumber="));
++ else if (!strncasecmp(comments->user_comments[i],
++ "track=", strlen ("track=")))
++ info->track = atoi (comments->user_comments[i]
++ + strlen ("track="));
++ }
++}
++
++/* Return a malloc()ed description of an op_*() error. */
++static char *opus_str_error (const int code)
++{
++ char *err;
++
++ switch (code) {
++ case OP_FALSE:
++ err = "Request was not successful";
++ break;
++ case OP_EOF:
++ err = "End Of File";
++ break;
++ case OP_HOLE:
++ err = "Hole in stream";
++ break;
++ case OP_EREAD:
++ err = "An underlying read, seek, or tell operation failed.";
++ break;
++ case OP_EFAULT:
++ err = "Internal (Opus) logic fault";
++ break;
++ case OP_EIMPL:
++ err = "Unimplemented feature";
++ break;
++ case OP_EINVAL:
++ err = "Invalid argument";
++ break;
++ case OP_ENOTFORMAT:
++ err = "Not an Opus file";
++ break;
++ case OP_EBADHEADER:
++ err = "Invalid or corrupt header";
++ break;
++ case OP_EVERSION:
++ err = "Opus header version mismatch";
++ break;
++ case OP_EBADPACKET:
++ err = "An audio packet failed to decode properly";
++ break;
++ case OP_ENOSEEK:
++ err = "Requested seeking in unseekable stream";
++ break;
++ case OP_EBADTIMESTAMP:
++ err = "File timestamps fail sanity tests";
++ break;
++ default:
++ err = "Unknown error";
++ }
++
++ return xstrdup (err);
++}
++
++
++/* Fill info structure with data from ogg comments */
++static void opus_tags (const char *file_name, struct file_tags *info,
++ const int tags_sel)
++{
++ OggOpusFile *of;
++ int err_code;
++
++ // op_test() is faster than op_open(), but we can't read file time with it.
++ if (tags_sel & TAGS_TIME) {
++ of = op_open_file(file_name,&err_code);
++ if (err_code < 0) {
++ char *opus_err = opus_str_error (err_code);
++
++ logit ("Can't open %s: %s", file_name, opus_err);
++ free (opus_err);
++ op_free(of);
++
++ return;
++ }
++ }
++ else {
++ of = op_open_file(file_name,&err_code);
++ if (err_code < 0) {
++ char *opus_err = opus_str_error (err_code);
++
++ logit ("Can't open %s: %s", file_name, opus_err);
++ free (opus_err);
++ op_free (of);
++
++ return;
++ }
++ }
++
++ if (tags_sel & TAGS_COMMENTS)
++ get_comment_tags (of, info);
++
++ if (tags_sel & TAGS_TIME) {
++ ogg_int64_t opus_time;
++
++ opus_time = op_pcm_total (of, -1);
++ if (opus_time >= 0)
++ info->time = opus_time / 48000;
++ debug("Duration tags: %d, samples %lld",info->time,(long long)opus_time);
++ }
++
++ op_free (of);
++}
++
++static int read_callback (void *datasource, unsigned char *ptr, int bytes)
++{
++ ssize_t res;
++
++ res = io_read (datasource, ptr, bytes);
++
++ if (res < 0) {
++ logit ("Read error");
++ res = -1;
++ }
++
++ return res;
++}
++
++static int seek_callback (void *datasource, opus_int64 offset, int whence)
++{
++ debug ("Seek request to %ld (%s)", (long)offset,
++ whence == SEEK_SET ? "SEEK_SET"
++ : (whence == SEEK_CUR ? "SEEK_CUR" : "SEEK_END"));
++ return io_seek (datasource, offset, whence)<0 ? -1 : 0;
++}
++
++static int close_callback (void *datasource ATTR_UNUSED)
++{
++ return 0;
++}
++
++static opus_int64 tell_callback (void *datasource)
++{
++ return io_tell (datasource);
++}
++
++static void opus_open_stream_internal (struct opus_data *data)
++{
++ int res;
++ OpusFileCallbacks callbacks = {
++ read_callback,
++ seek_callback,
++ tell_callback,
++ close_callback
++ };
++
++ data->tags = tags_new ();
++
++ data->of = op_open_callbacks(data->stream, &callbacks, NULL, 0, &res);
++ if (res < 0) {
++ char *opus_err = opus_str_error (res);
++
++ decoder_error (&data->error, ERROR_FATAL, 0, "%s",
++ opus_err);
++ debug ("op_open error: %s", opus_err);
++ free (opus_err);
++ op_free (data->of);
++ data->of = NULL;
++ io_close (data->stream);
++ }
++ else {
++ ogg_int64_t samples;
++ data->last_section = -1;
++ data->avg_bitrate = op_bitrate (data->of, -1) / 1000;
++ data->bitrate = data->avg_bitrate;
++ samples = op_pcm_total (data->of, -1);
++ if (samples == OP_EINVAL)
++ data->duration = -1;
++ else
++ data->duration =samples/48000;
++ debug("Duration: %d, samples %lld",data->duration,(long long)samples);
++ data->ok = 1;
++ get_comment_tags (data->of, data->tags);
++ }
++}
++
++static void *opus_open (const char *file)
++{
++ struct opus_data *data;
++ data = (struct opus_data *)xmalloc (sizeof(struct opus_data));
++ data->ok = 0;
++
++ decoder_error_init (&data->error);
++ data->tags_change = 0;
++ data->tags = NULL;
++
++ data->stream = io_open (file, 1);
++ if (!io_ok(data->stream)) {
++ decoder_error (&data->error, ERROR_FATAL, 0,
++ "Can't load Opus: %s",
++ io_strerror(data->stream));
++ io_close (data->stream);
++ }
++ else
++ opus_open_stream_internal (data);
++
++ return data;
++}
++
++static int opus_can_decode (struct io_stream *stream)
++{
++ char buf[36];
++
++ if (io_peek (stream, buf, 36) == 36 && !memcmp (buf, "OggS", 4)
++ && !memcmp (buf + 28, "OpusHead", 8))
++ return 1;
++
++ return 0;
++}
++
++static void *opus_open_stream (struct io_stream *stream)
++{
++ struct opus_data *data;
++
++ data = (struct opus_data *)xmalloc (sizeof(struct opus_data));
++ data->ok = 0;
++
++ decoder_error_init (&data->error);
++ data->stream = stream;
++ opus_open_stream_internal (data);
++
++ return data;
++}
++
++static void opus_close (void *prv_data)
++{
++ struct opus_data *data = (struct opus_data *)prv_data;
++
++ if (data->ok) {
++ op_free (data->of);
++ io_close (data->stream);
++ }
++
++ decoder_error_clear (&data->error);
++ if (data->tags)
++ tags_free (data->tags);
++ free (data);
++}
++
++static int opus_seek (void *prv_data, int sec)
++{
++ struct opus_data *data = (struct opus_data *)prv_data;
++
++ assert (sec >= 0);
++
++ return op_pcm_seek (data->of, sec * (ogg_int64_t)48000)<0 ? -1 : sec;
++}
++
++static int opus_decodeX (void *prv_data, char *buf, int buf_len,
++ struct sound_params *sound_params)
++{
++ struct opus_data *data = (struct opus_data *)prv_data;
++ int ret;
++ int current_section;
++ int bitrate;
++
++ decoder_error_clear (&data->error);
++
++ while (1) {
++#ifdef HAVE_OPUSFILE_FLOAT
++ ret = op_read_float(data->of, (float *)buf, buf_len/sizeof(float), &current_section);
++debug("opus float!");
++#else
++ ret = op_read(data->of, (opus_int16 *)buf, buf_len/sizeof(opus_int16), &current_section);
++debug("opus fixed!");
++#endif
++ if (ret == 0)
++ return 0;
++ if (ret < 0) {
++ decoder_error (&data->error, ERROR_STREAM, 0,
++ "Error in the stream!");
++ continue;
++ }
++
++ if (current_section != data->last_section) {
++ logit ("section change or first section");
++
++ data->last_section = current_section;
++ data->tags_change = 1;
++ tags_free (data->tags);
++ data->tags = tags_new ();
++ get_comment_tags (data->of, data->tags);
++ }
++
++ sound_params->channels = op_channel_count (data->of, current_section);
++ sound_params->rate = 48000;
++#ifdef HAVE_OPUSFILE_FLOAT
++ sound_params->fmt = SFMT_FLOAT;
++ ret *= sound_params->channels * sizeof(float);
++#else
++ sound_params->fmt = SFMT_S16 | SFMT_NE;
++ ret *= sound_params->channels * sizeof(opus_int16);
++#endif
++ /* Update the bitrate information */
++ bitrate = op_bitrate_instant (data->of);
++ if (bitrate > 0)
++ data->bitrate = bitrate / 1000;
++
++ break;
++ }
++ return ret;
++}
++
++static int opus_current_tags (void *prv_data, struct file_tags *tags)
++{
++ struct opus_data *data = (struct opus_data *)prv_data;
++
++ tags_copy (tags, data->tags);
++
++ if (data->tags_change) {
++ data->tags_change = 0;
++ return 1;
++ }
++
++ return 0;
++}
++
++
++static int opus_get_bitrate (void *prv_data)
++{
++ struct opus_data *data = (struct opus_data *)prv_data;
++
++ return data->bitrate;
++}
++
++static int opus_get_avg_bitrate (void *prv_data)
++{
++ struct opus_data *data = (struct opus_data *)prv_data;
++
++ return data->avg_bitrate;
++}
++
++static int opus_get_duration (void *prv_data)
++{
++
++ struct opus_data *data = (struct opus_data *)prv_data;
++
++ return data->duration;
++}
++
++static struct io_stream *opus_get_stream (void *prv_data)
++{
++ struct opus_data *data = (struct opus_data *)prv_data;
++
++ return data->stream;
++}
++
++static void opus_get_name (const char *file ATTR_UNUSED, char buf[4])
++{
++ strcpy (buf, "OPS");
++}
++
++static int opus_our_format_ext (const char *ext)
++{
++ return !strcasecmp (ext, "opus");
++}
++
++static void opus_get_error (void *prv_data, struct decoder_error *error)
++{
++ struct opus_data *data = (struct opus_data *)prv_data;
++
++ decoder_error_copy (error, &data->error);
++}
++
++static int opus_our_mime (const char *mime)
++{
++ return !strcasecmp (mime, "audio/ogg")
++ || !strcasecmp (mime, "audio/ogg; codecs=opus");
++}
++
++static struct decoder opus_decoder = {
++ DECODER_API_VERSION,
++ NULL,
++ NULL,
++ opus_open,
++ opus_open_stream,
++ opus_can_decode,
++ opus_close,
++ opus_decodeX,
++ opus_seek,
++ opus_tags,
++ opus_get_bitrate,
++ opus_get_duration,
++ opus_get_error,
++ opus_our_format_ext,
++ opus_our_mime,
++ opus_get_name,
++ opus_current_tags,
++ opus_get_stream,
++ opus_get_avg_bitrate
++};
++
++struct decoder *plugin_init ()
++{
++ return &opus_decoder;
++}
+diff --git a/decoder_plugins/opus/opus.m4 b/decoder_plugins/opus/opus.m4
+new file mode 100644
+index 0000000..08cceb9
+--- /dev/null
++++ b/decoder_plugins/opus/opus.m4
+@@ -0,0 +1,25 @@
++dnl opus
++
++AC_ARG_WITH(opus, AS_HELP_STRING([--without-opus],
++ [Compile without Opus support]))
++
++ if test "x$with_opus" != "xno"
++ then
++ PKG_CHECK_MODULES(OPUSFILE,
++ [opusfile >= 0.1],
++ [AC_SUBST(OPUSFILE_LIBS)
++ AC_SUBST(OPUSFILE_CFLAGS)
++ want_opus="yes"
++ DECODER_PLUGINS="$DECODER_PLUGINS opus"],
++ [true])
++ if test "x$want_opus" = "xyes"
++ then
++ AC_SEARCH_LIBS(op_read_float, opusfile,
++ [AC_DEFINE([HAVE_OPUSFILE_FLOAT], 1,
++ [Define to 1 if you have the `op_read_float' function.])])
++ fi
++
++ fi
++
++AM_CONDITIONAL([BUILD_opus], [test "$want_opus"])
++AC_CONFIG_FILES([decoder_plugins/opus/Makefile])
+diff --git a/options.c b/options.c
+index 62835ac..bb97b94 100644
+--- a/options.c
++++ b/options.c
+@@ -659,9 +659,9 @@ void options_init ()
+ "audio/aac(aac):audio/aacp(aac):audio/m4a(ffmpeg):"
+ "audio/wav(sndfile,*):"
+ "ogg(vorbis,*,ffmpeg):oga(vorbis,*,ffmpeg):ogv(ffmpeg):"
+- "application/ogg(vorbis):audio/ogg(vorbis):"
++ "application/ogg(vorbis,opus):audio/ogg(vorbis,opus):"
+ "flac(flac,*,ffmpeg):"
+- "opus(ffmpeg):"
++ "opus(opus,ffmpeg):"
+ "spx(speex)",
+ CHECK_FUNCTION);
+
+--
+2.10.2
+
diff --git a/source/ap/moc/0002-Adapted-the-opus-patch-to-config.example.in.patch b/source/ap/moc/0002-Adapted-the-opus-patch-to-config.example.in.patch
new file mode 100644
index 000000000..f4995f100
--- /dev/null
+++ b/source/ap/moc/0002-Adapted-the-opus-patch-to-config.example.in.patch
@@ -0,0 +1,22 @@
+From 0ce08aec4fda7077845aa483667b6bd2a9421bbb Mon Sep 17 00:00:00 2001
+From: Elimar Riesebieter <riesebie@lxtec.de>
+Date: Sun, 27 Nov 2016 12:19:29 +0100
+Subject: [PATCH] Adapted the opus patch to config.example.in
+
+---
+ config.example.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: debian-git/config.example.in
+===================================================================
+--- debian-git.orig/config.example.in
++++ debian-git/config.example.in
+@@ -399,7 +399,7 @@
+ #PreferredDecoders += ogg(vorbis,*,ffmpeg):oga(vorbis,*,ffmpeg):ogv(ffmpeg)
+ #PreferredDecoders += application/ogg(vorbis):audio/ogg(vorbis)
+ #PreferredDecoders += flac(flac,*,ffmpeg)
+-#PreferredDecoders += opus(ffmpeg)
++#PreferredDecoders += opus(opus,ffmpeg)
+ #PreferredDecoders += spx(speex)
+
+ # Which resampling method to use. There are a few methods of resampling
diff --git a/source/ap/moc/0003-The-AX_PATH_BDB_NO_OPTIONS-is-broken.patch b/source/ap/moc/0003-The-AX_PATH_BDB_NO_OPTIONS-is-broken.patch
new file mode 100644
index 000000000..8989e3101
--- /dev/null
+++ b/source/ap/moc/0003-The-AX_PATH_BDB_NO_OPTIONS-is-broken.patch
@@ -0,0 +1,26 @@
+From 4b5144d7997246d1e5ab7be7daec8bbc2ecd3b89 Mon Sep 17 00:00:00 2001
+From: Elimar Riesebieter <riesebie@lxtec.de>
+Date: Sun, 10 Feb 2019 08:32:09 +0100
+Subject: [PATCH] The AX_PATH_BDB_NO_OPTIONS is broken
+
+for cross compilation and that breaks moc. Pass -P to $ac_cpp.
+---
+ m4/ax_path_bdb.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/ax_path_bdb.m4 b/m4/ax_path_bdb.m4
+index 585218d..461d423 100644
+--- a/m4/ax_path_bdb.m4
++++ b/m4/ax_path_bdb.m4
+@@ -179,7 +179,7 @@ AX_PATH_BDB_STUFF DB_VERSION_MAJOR,DB_VERSION_MINOR,DB_VERSION_PATCH
+ ]])
+ ],[
+ # Extract version from preprocessor output.
+- HEADER_VERSION=`eval "$ac_cpp conftest.$ac_ext" 2> /dev/null \
++ HEADER_VERSION=`eval "$ac_cpp -P conftest.$ac_ext" 2> /dev/null \
+ | grep AX_PATH_BDB_STUFF | sed 's/[[^0-9,]]//g;s/,/./g;1q'`
+ ],[])
+
+--
+2.20.1
+
diff --git a/source/ap/moc/0004_playtime_perc.patch b/source/ap/moc/0004_playtime_perc.patch
new file mode 100644
index 000000000..14683ca12
--- /dev/null
+++ b/source/ap/moc/0004_playtime_perc.patch
@@ -0,0 +1,27 @@
+From 23a0cdc97e54bc8ac5edc0fca84aaf27bc34d910 Mon Sep 17 00:00:00 2001
+From: Elimar Riesebieter <riesebie@lxtec.de>
+Date: Mon, 30 Jul 2018 07:31:13 +0200
+Subject: [PATCH] Assign "Switch on/off play time percentage"
+
+---
+ keys.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/keys.c b/keys.c
+index 7ff052e..c1a7dfa 100644
+--- a/keys.c
++++ b/keys.c
+@@ -204,8 +204,8 @@ static struct command commands[] = {
+ "toggle_percent",
+ "Switch on/off play time percentage",
+ CON_MENU,
+- { -1 },
+- 0
++ {CTRL('p'), -1 },
++ 1
+ },
+ {
+ KEY_CMD_PLIST_ADD_FILE,
+--
+2.18.0
+
diff --git a/source/ap/moc/0005-avcodec-include.patch b/source/ap/moc/0005-avcodec-include.patch
new file mode 100644
index 000000000..5606df445
--- /dev/null
+++ b/source/ap/moc/0005-avcodec-include.patch
@@ -0,0 +1,25 @@
+From d75ef5832592c796b45018e81c939c375c1326b4 Mon Sep 17 00:00:00 2001
+From: John Fitzgerald <mocmaint@daper.net>
+Date: Sat, 25 Jun 2022 13:15:37 +0300
+Subject: [PATCH 1/3] avcodec include
+
+Signed-off-by: Elimar Riesebieter <riesebie@lxtec.de>
+---
+ decoder_plugins/ffmpeg/ffmpeg.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/decoder_plugins/ffmpeg/ffmpeg.c b/decoder_plugins/ffmpeg/ffmpeg.c
+index c043b5a..f5ea484 100644
+--- a/decoder_plugins/ffmpeg/ffmpeg.c
++++ b/decoder_plugins/ffmpeg/ffmpeg.c
+@@ -32,6 +32,7 @@
+ #include <stdint.h>
+ #include <errno.h>
+
++#include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+ #include <libavutil/mathematics.h>
+ #if HAVE_LIBAVUTIL_CHANNEL_LAYOUT_H
+--
+2.36.1
+
diff --git a/source/ap/moc/0006-uncast-warnings.patch b/source/ap/moc/0006-uncast-warnings.patch
new file mode 100644
index 000000000..204742058
--- /dev/null
+++ b/source/ap/moc/0006-uncast-warnings.patch
@@ -0,0 +1,44 @@
+From 27fa391c6b3361ef781dbf0a045445ceabfaa07f Mon Sep 17 00:00:00 2001
+From: John Fitzgerald <mocmaint@daper.net>
+Date: Sat, 25 Jun 2022 13:18:08 +0300
+Subject: [PATCH 2/3] uncast warnings
+
+Signed-off-by: Elimar Riesebieter <riesebie@lxtec.de>
+---
+ decoder_plugins/ffmpeg/ffmpeg.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/decoder_plugins/ffmpeg/ffmpeg.c b/decoder_plugins/ffmpeg/ffmpeg.c
+index f5ea484..fd4582f 100644
+--- a/decoder_plugins/ffmpeg/ffmpeg.c
++++ b/decoder_plugins/ffmpeg/ffmpeg.c
+@@ -79,7 +79,7 @@ struct ffmpeg_data
+ AVIOContext *pb;
+ AVStream *stream;
+ AVCodecContext *enc;
+- AVCodec *codec;
++ const AVCodec *codec;
+
+ char *remain_buf;
+ int remain_buf_len;
+@@ -848,7 +848,7 @@ static int ffmpeg_can_decode (struct io_stream *stream)
+ {
+ int res;
+ AVProbeData probe_data;
+- AVInputFormat *fmt;
++ const AVInputFormat *fmt;
+ char buf[8096 + AVPROBE_PADDING_SIZE] = {0};
+
+ res = io_peek (stream, buf, sizeof (buf));
+@@ -1411,7 +1411,7 @@ static int ffmpeg_our_format_ext (const char *ext)
+
+ static int ffmpeg_our_format_mime (const char *mime_type)
+ {
+- AVOutputFormat *fmt;
++ const AVOutputFormat *fmt;
+
+ fmt = av_guess_format (NULL, NULL, mime_type);
+ return fmt ? 1 : 0;
+--
+2.36.1
+
diff --git a/source/ap/moc/0007-cur-dts.patch b/source/ap/moc/0007-cur-dts.patch
new file mode 100644
index 000000000..cf65c5084
--- /dev/null
+++ b/source/ap/moc/0007-cur-dts.patch
@@ -0,0 +1,39 @@
+From dba3b4262b6187f688152126b4ca743f88e93c82 Mon Sep 17 00:00:00 2001
+From: John Fitzgerald <mocmaint@daper.net>
+Date: Sat, 25 Jun 2022 13:20:46 +0300
+Subject: [PATCH 3/3] cur dts
+
+Signed-off-by: Elimar Riesebieter <riesebie@lxtec.de>
+---
+ decoder_plugins/ffmpeg/ffmpeg.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/decoder_plugins/ffmpeg/ffmpeg.c b/decoder_plugins/ffmpeg/ffmpeg.c
+index fd4582f..64afe04 100644
+--- a/decoder_plugins/ffmpeg/ffmpeg.c
++++ b/decoder_plugins/ffmpeg/ffmpeg.c
+@@ -1172,7 +1172,7 @@ static bool seek_in_stream (struct ffmpeg_data *data)
+ static bool seek_in_stream (struct ffmpeg_data *data, int sec)
+ #endif
+ {
+- int rc, flags = AVSEEK_FLAG_ANY;
++ int rc;
+ int64_t seek_ts;
+
+ #if SEEK_IN_DECODER
+@@ -1198,10 +1198,8 @@ static bool seek_in_stream (struct ffmpeg_data *data, int sec)
+ seek_ts += data->stream->start_time;
+ }
+
+- if (data->stream->cur_dts > seek_ts)
+- flags |= AVSEEK_FLAG_BACKWARD;
+-
+- rc = av_seek_frame (data->ic, data->stream->index, seek_ts, flags);
++ rc = av_seek_frame (data->ic, data->stream->index, seek_ts,
++ AVSEEK_FLAG_BACKWARD);
+ if (rc < 0) {
+ log_errno ("Seek error", rc);
+ return false;
+--
+2.36.1
+
diff --git a/source/ap/moc/0008-Rename-configure.in-to-configure.ac.patch b/source/ap/moc/0008-Rename-configure.in-to-configure.ac.patch
new file mode 100644
index 000000000..d927d216f
--- /dev/null
+++ b/source/ap/moc/0008-Rename-configure.in-to-configure.ac.patch
@@ -0,0 +1,18 @@
+From 9637b87ddeb33f6c04d17b090605fb5ee21cc243 Mon Sep 17 00:00:00 2001
+From: Elimar Riesebieter <riesebie@lxtec.de>
+Date: Sat, 25 Jun 2022 16:18:58 +0300
+Subject: [PATCH] Rename configure.in to configure.ac
+
+Signed-off-by: Elimar Riesebieter <riesebie@lxtec.de>
+---
+ configure.in => configure.ac | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ rename configure.in => configure.ac (100%)
+
+diff --git a/configure.in b/configure.ac
+similarity index 100%
+rename from configure.in
+rename to configure.ac
+--
+2.36.1
+
diff --git a/source/ap/moc/0009-Add-https-to-is_url.patch b/source/ap/moc/0009-Add-https-to-is_url.patch
new file mode 100644
index 000000000..9d3ec0552
--- /dev/null
+++ b/source/ap/moc/0009-Add-https-to-is_url.patch
@@ -0,0 +1,25 @@
+From 868951edfb1cb719fcc662b93d6b19e658f6dfde Mon Sep 17 00:00:00 2001
+From: Elimar Riesebieter <riesebie@lxtec.de>
+Date: Sun, 30 Oct 2022 10:01:19 +0100
+Subject: [PATCH] Add https to is_url
+
+Signed-off-by: Elimar Riesebieter <riesebie@lxtec.de>
+---
+ files.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/files.c b/files.c
+index 16aa4b6..ed59217 100644
+--- a/files.c
++++ b/files.c
+@@ -85,6 +85,7 @@ void files_cleanup ()
+ inline int is_url (const char *str)
+ {
+ return !strncasecmp (str, "http://", sizeof ("http://") - 1)
++ || !strncasecmp (str, "https://", sizeof ("https://") - 1)
+ || !strncasecmp (str, "ftp://", sizeof ("ftp://") - 1);
+ }
+
+--
+2.37.2
+
diff --git a/source/ap/moc/0010-ffmpeg-6.0.patch b/source/ap/moc/0010-ffmpeg-6.0.patch
new file mode 100644
index 000000000..743d1a939
--- /dev/null
+++ b/source/ap/moc/0010-ffmpeg-6.0.patch
@@ -0,0 +1,23 @@
+From: Shengjing Zhu <zhsj@debian.org>
+Date: Wed, 13 Sep 2023 11:04:52 +0800
+Subject: ffmpeg 6.0
+
+ffmpeg 6.0 removed AV_CODEC_*_TRUNCATED api.
+
+---
+ decoder_plugins/ffmpeg/ffmpeg.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/decoder_plugins/ffmpeg/ffmpeg.c b/decoder_plugins/ffmpeg/ffmpeg.c
+index 64afe04..e26c804 100644
+--- a/decoder_plugins/ffmpeg/ffmpeg.c
++++ b/decoder_plugins/ffmpeg/ffmpeg.c
+@@ -762,8 +762,6 @@ static void *ffmpeg_open_internal (struct ffmpeg_data *data)
+ }
+
+ set_downmixing (data);
+- if (data->codec->capabilities & AV_CODEC_CAP_TRUNCATED)
+- data->enc->flags |= AV_CODEC_FLAG_TRUNCATED;
+
+ if (avcodec_open2 (data->enc, data->codec, NULL) < 0)
+ {
diff --git a/source/ap/moc/moc-ffmpeg4.patch b/source/ap/moc/moc-ffmpeg4.patch
deleted file mode 100644
index c1e43a7c2..000000000
--- a/source/ap/moc/moc-ffmpeg4.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Index: decoder_plugins/ffmpeg/ffmpeg.c
-===================================================================
---- decoder_plugins/ffmpeg/ffmpeg.c (revisión: 2963)
-+++ decoder_plugins/ffmpeg/ffmpeg.c (copia de trabajo)
-@@ -697,7 +697,7 @@
- * FFmpeg/LibAV in use. For some versions this will be caught in
- * *_find_stream_info() above and misreported as an unfound codec
- * parameters error. */
-- if (data->codec->capabilities & CODEC_CAP_EXPERIMENTAL) {
-+ if (data->codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL) {
- decoder_error (&data->error, ERROR_FATAL, 0,
- "The codec is experimental and may damage MOC: %s",
- data->codec->name);
-@@ -705,8 +705,8 @@
- }
-
- set_downmixing (data);
-- if (data->codec->capabilities & CODEC_CAP_TRUNCATED)
-- data->enc->flags |= CODEC_FLAG_TRUNCATED;
-+ if (data->codec->capabilities & AV_CODEC_CAP_TRUNCATED)
-+ data->enc->flags |= AV_CODEC_FLAG_TRUNCATED;
-
- if (avcodec_open2 (data->enc, data->codec, NULL) < 0)
- {
-@@ -725,7 +725,7 @@
-
- data->sample_width = sfmt_Bps (data->fmt);
-
-- if (data->codec->capabilities & CODEC_CAP_DELAY)
-+ if (data->codec->capabilities & AV_CODEC_CAP_DELAY)
- data->delay = true;
- data->seek_broken = is_seek_broken (data);
- data->timing_broken = is_timing_broken (data->ic);
diff --git a/source/ap/moc/moc.SlackBuild b/source/ap/moc/moc.SlackBuild
index 547687838..673f9c28e 100755
--- a/source/ap/moc/moc.SlackBuild
+++ b/source/ap/moc/moc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2011, 2013, 2018, 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2011, 2013, 2018, 2019, 2022, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=moc
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | rev | cut -f 2- -d -)}
-BUILD=${BUILD:-8}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -78,9 +78,25 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-zcat $CWD/moc-ffmpeg4.patch.gz | patch -p0 --verbose || exit 1
+cat $CWD/0001-Refreshed-opus-patch-from-Tomasz-Golinski-tomaszg-al.patch | patch -p1 --verbose || exit 1
+cat $CWD/0002-Adapted-the-opus-patch-to-config.example.in.patch | patch -p1 --verbose || exit 1
+cat $CWD/0003-The-AX_PATH_BDB_NO_OPTIONS-is-broken.patch | patch -p1 --verbose || exit 1
+cat $CWD/0004_playtime_perc.patch | patch -p1 --verbose || exit 1
+cat $CWD/0005-avcodec-include.patch | patch -p1 --verbose || exit 1
+cat $CWD/0006-uncast-warnings.patch | patch -p1 --verbose || exit 1
+cat $CWD/0007-cur-dts.patch | patch -p1 --verbose || exit 1
+cat $CWD/0008-Rename-configure.in-to-configure.ac.patch | patch -p1 --verbose || exit 1
+cat $CWD/0009-Add-https-to-is_url.patch | patch -p1 --verbose || exit 1
+cat $CWD/0010-ffmpeg-6.0.patch | patch -p1 --verbose || exit 1
# Configure:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/ap/moc/svn-checkout.sh b/source/ap/moc/svn-checkout.sh
new file mode 100755
index 000000000..a2f9a8084
--- /dev/null
+++ b/source/ap/moc/svn-checkout.sh
@@ -0,0 +1,14 @@
+# Clear the download area:
+rm -rf moc
+
+svn checkout svn://svn.daper.net/moc/trunk moc
+
+( cd moc && find -name "\.svn" -type d -print0 | xargs -0 rm -rf )
+
+# Tar it up:
+VERSION="$(grep PROJECT_NUMBER moc/Doxyfile | cut -f 2 -d = | tr -d ' ' | tr - _)"
+mv moc moc-${VERSION}
+tar cf moc-${VERSION}.tar moc-${VERSION}
+rm -f moc-${VERSION}.tar.lz
+plzip -9 moc-${VERSION}.tar
+rm -r moc-${VERSION}
diff --git a/source/ap/most/most.SlackBuild b/source/ap/most/most.SlackBuild
index fa397797a..af4224f07 100755
--- a/source/ap/most/most.SlackBuild
+++ b/source/ap/most/most.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2018, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=most
-VERSION=5.1.0
-BUILD=${BUILD:-3}
+VERSION=5.2.0
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -77,6 +77,7 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
+ --sysconfdir=/etc \
--mandir=/usr/man \
--docdir=/usr/doc \
--with-slang=/usr \
diff --git a/source/ap/mpg123/mpg123.SlackBuild b/source/ap/mpg123/mpg123.SlackBuild
index 8111ee5f7..262184756 100755
--- a/source/ap/mpg123/mpg123.SlackBuild
+++ b/source/ap/mpg123/mpg123.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/bash
-# Copyright 2006-2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006-2021 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -111,6 +111,10 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+# Search for modules in lib64 first, then lib. This should work on pure 64-bit,
+# pure 32-bit, and multilib.
+zcat $CWD/mpg123.lib64.diff.gz | patch -p1 --verbose || exit 1
+
# Configure:
CFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/ap/mpg123/mpg123.lib64.diff b/source/ap/mpg123/mpg123.lib64.diff
new file mode 100644
index 000000000..e86ec24ef
--- /dev/null
+++ b/source/ap/mpg123/mpg123.lib64.diff
@@ -0,0 +1,12 @@
+--- ./src/libout123/module.c.orig 2021-09-05 17:31:03.000000000 -0500
++++ ./src/libout123/module.c 2021-09-18 14:46:42.800526245 -0500
+@@ -29,7 +29,8 @@
+ to wide and then replace / by \. No need to define another list. */
+ static const char* modulesearch[] =
+ {
+- "../lib/mpg123"
++ "../lib64/mpg123"
++ ,"../lib/mpg123"
+ ,"plugins"
+ ,"libout123/modules/.libs"
+ ,"libout123/modules"
diff --git a/source/ap/linuxdoc-tools/doinst.sh b/source/ap/nvme-cli/doinst.sh
index b9a1d17b6..d2bc87c16 100644
--- a/source/ap/linuxdoc-tools/doinst.sh
+++ b/source/ap/nvme-cli/doinst.sh
@@ -1,13 +1,14 @@
-#!/bin/bash
+#!/bin/sh
config() {
NEW="$1"
- OLD="$( dirname $NEW )/$( basename $NEW .new )"
+ 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 [ "$( md5sum < $OLD )" = "$( md5sum < $NEW )" ]; then # toss the redundant copy
+ 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/nvme/discovery.conf.new
diff --git a/source/ap/nvme-cli/nvme-cli.SlackBuild b/source/ap/nvme-cli/nvme-cli.SlackBuild
index 027d7afc3..a7f5e5b11 100755
--- a/source/ap/nvme-cli/nvme-cli.SlackBuild
+++ b/source/ap/nvme-cli/nvme-cli.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2020, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -30,7 +30,7 @@ BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
@@ -85,18 +85,34 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# Build and install:
-make $NUMJOBS CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" PREFIX=/usr SBINDIR=/usr/sbin || exit 1
-make $NUMJOBS install CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" PREFIX=/usr SBINDIR=/usr/sbin DESTDIR=$PKG || exit 1
-
-# Don't ship build-host specific files:
-rm -f $PKG/etc/nvme/*
-
-# Don't ship systemd udev rules:
-rm -r $PKG/etc/udev
-
-# Remove dracut and system libdir files:
-rm -r $PKG/usr/lib/{dracut,systemd}
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -Ddocs=man \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Make discovery.conf file .new:
+mv $PKG/etc/nvme/discovery.conf $PKG/etc/nvme/discovery.conf.new
+
+# Remove dracut and systemd libdir files:
+rm -r $PKG/usr/lib/{dracut,systemd,udev}
rmdir $PKG/usr/lib 2> /dev/null
# Move man pages:
@@ -119,6 +135,7 @@ cp -a \
$PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
diff --git a/source/ap/opus-tools/opus-tools.SlackBuild b/source/ap/opus-tools/opus-tools.SlackBuild
index 0de7159f8..b2d0a73dd 100755
--- a/source/ap/opus-tools/opus-tools.SlackBuild
+++ b/source/ap/opus-tools/opus-tools.SlackBuild
@@ -24,13 +24,13 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=opus-tools
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
diff --git a/source/ap/pamixer/pamixer.SlackBuild b/source/ap/pamixer/pamixer.SlackBuild
index 2309960c3..2cdbea4d5 100755
--- a/source/ap/pamixer/pamixer.SlackBuild
+++ b/source/ap/pamixer/pamixer.SlackBuild
@@ -1,8 +1,7 @@
#!/bin/bash
-# Slackware build script for pamixer
-
# Copyright 2015 Robby Workman, Tuscaloosa, Alabama, USA
+# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,8 +24,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=pamixer
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-11}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -67,7 +66,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
@@ -76,15 +75,38 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-sed -i "s,CXXFLAGS ?=,CXXFLAGS ?= \$(OPTFLAGS),g" Makefile
-make OPTFLAGS="$SLKCFLAGS" || exit 1
-
-mkdir -p $PKG/usr/bin
-cp -a pamixer $PKG/usr/bin
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
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 manual 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
+
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
COPYING* README* \
diff --git a/source/ap/powertop/powertop.SlackBuild b/source/ap/powertop/powertop.SlackBuild
index 0e9cee193..fbfb597df 100755
--- a/source/ap/powertop/powertop.SlackBuild
+++ b/source/ap/powertop/powertop.SlackBuild
@@ -20,16 +20,11 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Modified by Willy Sudiarto Raharjo
-# Changelog
-# May, 11 : Bumped to 2.0, Fix compilation process, Added patch to fix complaints about a file
-# May, 18 : Rebuilt, removed non-existence directory for man pages
-
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=powertop
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/qpdf/qpdf.SlackBuild b/source/ap/qpdf/qpdf.SlackBuild
index 72377daf6..9be9357a0 100755
--- a/source/ap/qpdf/qpdf.SlackBuild
+++ b/source/ap/qpdf/qpdf.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2011-2012 Binh Nguyen <binhvng@gmail.com>
# Copyright 2014 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-# Copyright 2015, 2017, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2015, 2017, 2018, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -78,29 +78,32 @@ 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 \
- --infodir=/usr/info \
- --docdir=/usr/doc/$PKGNAM-$VERSION \
- --localedir=/usr/share/locale \
- --disable-static \
- --build=$ARCH-slackware-linux || exit 1
-
-make $NUMJOBS || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# Don't ship .la files:
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DINSTALL_EXAMPLES=OFF \
+ -DBUILD_STATIC_LIBS=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+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
+rm -r $PKG/usr/share/doc
+if [ ! -d $PKG/usr/man ]; then
+ mv $PKG/usr/share/man $PKG/usr
+ rmdir $PKG/usr/share 2> /dev/null
+fi
+
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/source/ap/rdfind/rdfind.SlackBuild b/source/ap/rdfind/rdfind.SlackBuild
new file mode 100755
index 000000000..9cf8c5d09
--- /dev/null
+++ b/source/ap/rdfind/rdfind.SlackBuild
@@ -0,0 +1,144 @@
+#!/bin/bash
+
+# Copyright 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=rdfind
+SRCNAM=rdfind-releases
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
+cd $SRCNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# EXAMPLE FOR AUTOTOOLS:
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./bootstrap.sh ]; then
+ ./bootstrap.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual 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
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* INSTALL* LICENSE* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/ap/rdfind/rdfind.url b/source/ap/rdfind/rdfind.url
new file mode 100644
index 000000000..8df5c8396
--- /dev/null
+++ b/source/ap/rdfind/rdfind.url
@@ -0,0 +1 @@
+https://github.com/pauldreik/rdfind
diff --git a/source/ap/rdfind/slack-desc b/source/ap/rdfind/slack-desc
new file mode 100644
index 000000000..97634087d
--- /dev/null
+++ b/source/ap/rdfind/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------------------------------------------------------|
+rdfind: rdfind (redundant data finder)
+rdfind:
+rdfind: Rdfind is a command line tool that finds duplicate files. It is useful
+rdfind: for compressing backup directories or just finding duplicate files. It
+rdfind: compares files based on their content, NOT on their file names.
+rdfind:
+rdfind: Homepage: https://github.com/pauldreik/rdfind
+rdfind:
+rdfind:
+rdfind:
+rdfind:
diff --git a/source/ap/rpm/rpm.SlackBuild b/source/ap/rpm/rpm.SlackBuild
index e50b98835..400832a04 100755
--- a/source/ap/rpm/rpm.SlackBuild
+++ b/source/ap/rpm/rpm.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2018, 2019, 2023 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=rpm
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -95,38 +95,32 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# We have to tell it where to find NSS and NSPR
-# Also, --enable-sqlite3 needs "-ldl" in LDFLAGS
-# And --enable-broken-chown fits, as ours follows symlinks.
-CFLAGS="$SLKCFLAGS -I${DB_INC} $(pkg-config --cflags nspr nss)" \
-LDFLAGS="-ldl" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --mandir=/usr/man \
- --enable-python \
- --with-external-db \
- --enable-broken-chown \
- --without-hackingdocs \
- --without-selinux \
- --without-lua \
- --without-dmalloc \
- --enable-sqlite3 \
- --build=$ARCH-slackware-linux || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-cd python
- # python2 dropped dropped as obsolete.
- #python setup.py install --root=$PKG || exit 1
- python3 setup.py install --root=$PKG || exit 1
-cd -
-
-# Don't ship .la files:
-rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ CFLAGS="$SLKCFLAGS -I${DB_INC} $(pkg-config --cflags nspr nss)" \
+ LDFLAGS="-ldl" \
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_MANDIR=man \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DWITH_AUDIT=OFF \
+ -DWITH_SELINUX=OFF \
+ -DWITH_INTERNAL_OPENPGP=ON \
+ -DENABLE_TESTSUITE=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+if [ -d $PKG/etc/dbus-1 ]; then
+ # Put this in the system directory:
+ mkdir -p $PKG/usr/share
+ mv $PKG/etc/dbus-1 $PKG/usr/share
+ rmdir $PKG/etc
+fi
# This used to be at /bin/rpm, so make a symlink from there to the new
# location:
@@ -137,13 +131,16 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Here's a bug - /var/tmp should NOT have mode 0755
-rmdir $PKG/var/tmp || exit 1
+if [ -d $PKG/var/tmp ]; then
+ rmdir $PKG/var/tmp || exit 1
+fi
-# Compress man pages
-( 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
-)
+# Compress manual 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
# Initialize a dummy package database
mkdir -p $PKG/var/lib/rpm/tmp
@@ -151,16 +148,20 @@ zcat $CWD/Packages.gz > $PKG/var/lib/rpm/tmp/Packages
# Install docs
mkdir -p $PKG/usr/doc/rpm-$VERSION
+mv $PKG/usr/share/doc/rpm/* $PKG/usr/doc/rpm-$VERSION
+rmdir $PKG/usr/share/doc/rpm
+mrdir $PKG/usr/share/doc
+rm -rf $PKG/usr/doc/rpm-$VERSION/API
cp -a \
- COPYING* CREDITS GROUPS INSTALL README* TODO doc/manual \
+ CONTRIBUTING* COPYING* CREDITS* INSTALL* README* docs/manual \
$PKG/usr/doc/rpm-$VERSION
-# If there's a CHANGES file, installing at least part of the recent history
+# If there's a ChangeLog file, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
-if [ -r CHANGES ]; then
+if [ -r ChangeLog ]; then
DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
- touch -r CHANGES $DOCSDIR/CHANGES
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
fi
mkdir -p $PKG/install
@@ -169,4 +170,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/rpm-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/ap/sc-im/repack-github-archive.sh b/source/ap/sc-im/repack-github-archive.sh
index 08799353d..052751b87 100755
--- a/source/ap/sc-im/repack-github-archive.sh
+++ b/source/ap/sc-im/repack-github-archive.sh
@@ -1,10 +1,69 @@
-ARCHIVE_ORIG=$(/bin/ls v*.tar.gz)
-NEW_BASENAME="sc-im-$(basename $ARCHIVE_ORIG .tar.gz | cut -b2-)"
-rm -rf ${NEW_BASENAME}*
-tar xf $ARCHIVE_ORIG
-# Dump this stuff:
-rm -rf $NEW_BASENAME/{examples,screenshots}
-tar cf ${NEW_BASENAME}.tar ${NEW_BASENAME}
-plzip -9 ${NEW_BASENAME}.tar
-rm -f ${ARCHIVE_ORIG}
-rm -rf ${NEW_BASENAME}
+#!/bin/bash
+
+# Copyright 2020, 2021, 2022, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+CWD=$(pwd)
+
+# If no archive specified with $1, then look for a v[0-9]*.tar.gz styled tarball:
+if [ ! -z $1 ]; then
+ GITHUB_ARCHIVE=$1
+else
+ GITHUB_ARCHIVE=${GITHUB_ARCHIVE:-$(/bin/ls v[0-9]*.tar.gz 2> /dev/null)}
+ if ! /bin/ls v[0-9]*.tar.gz 1> /dev/null 2> /dev/null ; then
+ echo "ERROR: github archive not found"
+ exit 1
+ fi
+fi
+
+OUTPUT_NAME=$(tar tvvf $GITHUB_ARCHIVE | head -n 1 | tr -d / | rev | cut -f 1 -d ' ' | rev)
+OUTPUT_TIMESTAMP=$(tar tvvf $GITHUB_ARCHIVE | head -n 1 | tr -d / | rev | cut -f 2,3 -d ' ' | rev)
+
+# Create a temporary extraction directory:
+EXTRACT_DIR=$(mktemp -d)
+
+# Extract, repack, compress, and fix timestamp:
+( cd $EXTRACT_DIR
+ tar xf $CWD/$GITHUB_ARCHIVE
+ # If this is a stupid archive with the name doubled up, fix that:
+ if [ "$(echo $OUTPUT_NAME | cut -f 1 -d -)" = "$(echo $OUTPUT_NAME | cut -f 2 -d -)" ]; then
+ echo -n "Fixing internal archive name $OUTPUT_NAME -> "
+ OUTPUT_NAME="$(echo $OUTPUT_NAME | cut -f 2- -d -)"
+ echo $OUTPUT_NAME
+ mv * $OUTPUT_NAME
+ elif [ "$(echo $OUTPUT_NAME | cut -f 1-2 -d -)" = "$(echo $OUTPUT_NAME | cut -f 3-4 -d -)" ]; then
+ echo -n "Fixing internal archive name $OUTPUT_NAME -> "
+ OUTPUT_NAME="$(echo $OUTPUT_NAME | cut -f 3- -d -)"
+ echo $OUTPUT_NAME
+ mv * $OUTPUT_NAME
+ fi
+ tar cf $OUTPUT_NAME.tar $OUTPUT_NAME
+ plzip -9 $OUTPUT_NAME.tar
+ touch -d "$OUTPUT_TIMESTAMP" $OUTPUT_NAME.tar.lz
+)
+
+# Move the repacked archive here:
+mv $EXTRACT_DIR/*.tar.lz .
+
+# Remove the temporary directory:
+rm -rf $EXTRACT_DIR
+
+# Remove the repo tarball:
+rm -f $GITHUB_ARCHIVE
diff --git a/source/ap/sc-im/sc-im.SlackBuild b/source/ap/sc-im/sc-im.SlackBuild
index 19b89f8c2..b48e8fa7f 100755
--- a/source/ap/sc-im/sc-im.SlackBuild
+++ b/source/ap/sc-im/sc-im.SlackBuild
@@ -24,13 +24,13 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=sc-im
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
diff --git a/source/ap/sc/sc.SlackBuild b/source/ap/sc/sc.SlackBuild
index b39709bc6..5cbd9be47 100755
--- a/source/ap/sc/sc.SlackBuild
+++ b/source/ap/sc/sc.SlackBuild
@@ -30,7 +30,7 @@ BUILD=${BUILD:-10}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
diff --git a/source/ap/screen/screen.SlackBuild b/source/ap/screen/screen.SlackBuild
index 4301e396d..960c38d3e 100755
--- a/source/ap/screen/screen.SlackBuild
+++ b/source/ap/screen/screen.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=screen
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -100,6 +100,13 @@ else
fi
# Configure:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -120,7 +127,10 @@ CFLAGS="$SLKCFLAGS" \
--build=$ARCH-slackware-linux || exit 1
# Substitutions:
-perl -pi -e 's|.*#undef HAVE_BRAILLE.*|#define HAVE_BRAILLE 1|' config.h
+# It appears the change directly below is broken. We'll issue errata for
+# it if a fix appears, but meanwhile we have a CVE to worry about.
+# Tought choice.
+#perl -pi -e 's|.*#undef HAVE_BRAILLE.*|#define HAVE_BRAILLE 1|' config.h
perl -pi -e 's|/usr/local/etc/screenrc|/etc/screenrc|' etc/etcscreenrc doc/*
perl -pi -e 's|/local/etc/screenrc|/etc/screenrc|' doc/*
diff --git a/source/ap/slackpkg/doinst.sh b/source/ap/slackpkg/doinst.sh
index 02790a48e..77264140e 100644
--- a/source/ap/slackpkg/doinst.sh
+++ b/source/ap/slackpkg/doinst.sh
@@ -39,5 +39,6 @@ copy_mirror_file
config etc/slackpkg/mirrors.new
config etc/slackpkg/slackpkg.conf.new
config etc/slackpkg/blacklist.new
+rm -f var/lib/slackpkg/ChangeLog.txt
rm -f var/lib/slackpkg/pkglist
rm -f var/lib/slackpkg/CHECKSUMS.md5*
diff --git a/source/ap/slackpkg/files/ChangeLog b/source/ap/slackpkg/files/ChangeLog
index 8f875390a..d97918fac 100644
--- a/source/ap/slackpkg/files/ChangeLog
+++ b/source/ap/slackpkg/files/ChangeLog
@@ -1,3 +1,23 @@
+Mon Jan 17 06:40:41 UTC 2022
+---------------
+ - Release 15.0.10
+ - Fix mirrors.ucr.ac.cr link address (Emmet Ford)
+ - Remove wroc.pl mirrors (Emmet Ford)
+ - Remove kddilabs.jp from mirrors (Emmet Ford)
+ - Unattended usage improvements (PiterPUNK)
+ - Create file to flag if the system needs restart (PiterPUNK)
+
+Mon Dec 13 00:27:34 UTC 2021
+---------------
+ - Release 15.0.9
+ - files/mirrors-x86*: Remove bad mirrors from list (Emmet Ford)
+ - Automatically rebuild package lists if missing (Piter PUNK)
+
+Sun Oct 24 19:44:21 CDT 2021
+---------------
+ - Release 15.0.8
+ - New exit status for different situations (Piter PUNK)
+
Mon Aug 16 02:14:02 UTC 2021
---------------
- Release 15.0.7
diff --git a/source/ap/slackpkg/files/core-functions.sh b/source/ap/slackpkg/files/core-functions.sh
index 1a5062774..ede3d3f42 100644
--- a/source/ap/slackpkg/files/core-functions.sh
+++ b/source/ap/slackpkg/files/core-functions.sh
@@ -7,7 +7,7 @@
# Clean-up tmp and lock files
#
function cleanup() {
- local retval=${PENDING_UPDATES:-0}
+ local retval=${EXIT_CODE:-0}
[ "$SPINNING" = "off" ] || tput cnorm
if [ -e $TMPDIR/error.log ]; then
retval=1
@@ -243,11 +243,9 @@ ONE mirror in ${CONF}/mirrors and run:\n\n\
You can see more information about slackpkg functions in slackpkg manpage."
cleanup
elif [ "$CMD" != "new-config" ] && [ "$CMD" != "help" ]; then
- echo -e "\
-\nThe package list is missing.\n\
-Before you install|upgrade|reinstall anything you need to run:\n\n\
-\t# slackpkg update\n"
- cleanup
+ updatefilelists
+ mkregex_blacklist
+ UPDATED=1
fi
fi
@@ -373,11 +371,11 @@ as slackpkg cannot function without awk.\n"
# Check if gpg is enabled but no GPG command are found.
#
- if ! [ "$(which gpg 2>/dev/null)" ] && [ "${CHECKGPG}" = "on" ]; then
+ if ! [ "$(which gpg2 2>/dev/null)" ] && [ "${CHECKGPG}" = "on" ]; then
CHECKGPG=off
echo -e "\n\
gpg package not found! Please disable GPG in ${CONF}/slackpkg.conf or install\n\
-the gnupg package.\n\n\
+the gnupg2 package.\n\n\
To disable GPG, edit slackpkg.conf and change the value of the CHECKGPG \n\
variable to "off" - you can see an example in the original slackpkg.conf.new\n\
file distributed with slackpkg.\n"
@@ -386,7 +384,7 @@ file distributed with slackpkg.\n"
# Check if the Slackware GPG key are found in the system
#
- GPGFIRSTTIME="$(gpg --list-keys \"$SLACKKEY\" 2>/dev/null \
+ GPGFIRSTTIME="$(gpg2 --list-keys \"$SLACKKEY\" 2>/dev/null \
| grep -c "$SLACKKEY")"
if [ "$GPGFIRSTTIME" = "0" ] && \
[ "$CMD" != "search" ] && \
@@ -548,7 +546,7 @@ function checkmd5() {
# Verify the GPG signature of files/packages
#
function checkgpg() {
- gpg --verify ${1}.asc ${1} 2>/dev/null && echo "1" || echo "0"
+ gpg2 --verify ${1}.asc ${1} 2>/dev/null && echo "1" || echo "0"
}
# Fetch $SLACKKEY from a trusted source
@@ -587,8 +585,8 @@ Do you want to import the GPG key from this source? (YES|NO)\n"
# Import $SLACKKEY
function import_gpg_key() {
mkdir -p ~/.gnupg
- gpg --yes --batch --delete-key "$SLACKKEY" &>/dev/null
- gpg --import $TMPDIR/gpgkey &>/dev/null && \
+ gpg2 --yes --batch --delete-key "$SLACKKEY" &>/dev/null
+ gpg2 --import $TMPDIR/gpgkey &>/dev/null && \
echo -e "\t\t\tSlackware Linux Project's GPG key added"
}
@@ -641,7 +639,7 @@ function mkregex_blacklist() {
s,^, ,
s,$, ,
s,^ (extra|pasture|patches|slackware(|64)|testing)/ $,^\1 ,
- s,^ ([^/]+)/ $, \\\.\\\/$PKGMAIN\\\/\1\$,
+ s,^ ([^/]+)/ $, \\\./$PKGMAIN/\1\$,
" ${CONF}/blacklist > ${TMPDIR}/blacklist.tmp
# Filter server and local package lists through blacklist
@@ -1083,6 +1081,7 @@ Please check your mirror and try again."
function updatefilelists()
{
+ echo "Updating the package lists..."
if checkchangelog ; then
echo -e "\
\n\t\tNo changes in ChangeLog.txt between your last update and now.\n\
@@ -1134,7 +1133,7 @@ Please check your mirror and try again."
rm $TMPDIR/CHECKSUMS.md5
rm $TMPDIR/CHECKSUMS.md5.asc
echo -e "\
-\n\t\tERROR: Verification of the gpg signature on CHECKSUMS.md5\n\
+\n\t\tERROR: Verification of the gpg signature on CHECKSUMS.md5\n\
\t\t failed! This could mean that the file is out of date\n\
\t\t or has been tampered with. If you use mirrors.slackware.com\n\
\t\t as your mirror, this could also mean that the mirror to\n\
@@ -1277,7 +1276,7 @@ function sanity_check() {
[ "$SPINNING" = "off" ] || spinning ${TMPDIR}/waiting &
for i in $(ls -1 $ROOT/var/log/packages/ | \
- egrep -- "^.*-(${ARCH}|fw|noarch)-[^-]+-upgraded"); do
+ grep -E -- "^.*-(${ARCH}|fw|noarch)-[^-]+-upgraded"); do
REVNAME=$(echo ${i} | awk -F'-upgraded' '{ print $1 }')
mv $ROOT/var/log/packages/${i} $ROOT/var/log/packages/${REVNAME}
mv $ROOT/var/log/scripts/${i} $ROOT/var/log/scripts/${REVNAME}
@@ -1319,6 +1318,28 @@ for slackpkg to work properly.
fi
}
+# Checks if a critical package were upgraded by Slackpkg.
+# The /var/run/needs_restarting file contains the list of upgraded
+# packages.
+#
+# The file only is created if /var/run filesystem type is tmpfs so
+# the reboot will clean it
+function needs_restarting() {
+ if [ "$(stat -f -c %T /var/run/)" = "tmpfs" ]; then
+ find $ROOT/var/log/packages/ -cnewer $TMPDIR/timestamp -type f \( \
+ -name "kernel-generic-[0-9]*" -o \
+ -name "kernel-huge-[0-9]*" -o \
+ -name "openssl-solibs-[0-9]*" -o \
+ -name "openssl-[0-9]*" -o \
+ -name "glibc-[0-9]*" -o \
+ -name "aaa_glibc-solibs-[0-9]*" -o \
+ -name "eudev-[0-9]*" -o \
+ -name "elogind-[0-9]*" -o \
+ -name "dbus-[0-9]*" \) | \
+ awk -F/ '{ print $NF }' >> $ROOT/var/run/needs_restarting
+ fi
+}
+
function remove_pkg() {
local i
@@ -1343,6 +1364,7 @@ function upgrade_pkg() {
for i in $SHOWLIST; do
getpkg $i upgradepkg Upgrading
done
+ needs_restarting
}
function install_pkg() {
diff --git a/source/ap/slackpkg/files/mirrors-x86.sample b/source/ap/slackpkg/files/mirrors-x86.sample
index 4c07dd721..81f133d99 100644
--- a/source/ap/slackpkg/files/mirrors-x86.sample
+++ b/source/ap/slackpkg/files/mirrors-x86.sample
@@ -85,8 +85,8 @@
# http://mirrors.163.com/slackware/slackware-15.0/
# http://mirrors.ustc.edu.cn/slackware/slackware-15.0/
# COSTA RICA (CR)
-# ftp://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware-15.0/
-# http://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware-15.0/
+# ftp://mirrors.ucr.ac.cr/slackware/slackware-15.0/
+# http://mirrors.ucr.ac.cr/slackware/slackware-15.0/
# CZECH REPUBLIC (CZ)
# ftp://odysseus.linux.cz/pub/linux/slackware/slackware-15.0/
# http://odysseus.linux.cz/pub/linux/slackware/slackware-15.0/
@@ -126,8 +126,6 @@
# JAPAN (JP)
# ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware-15.0/
# http://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware-15.0/
-# ftp://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware-15.0/
-# http://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware-15.0/
# ftp://riksun.riken.go.jp/Linux/slackware/slackware-15.0/
# http://riksun.riken.go.jp/Linux/slackware/slackware-15.0/
# LITHUANIA (LT)
@@ -142,14 +140,10 @@
# ftp://ftp.slackware.no/slackware/slackware-15.0/
# http://ftp.slackware.no/slackware/slackware-15.0/
# POLAND (PL)
-# ftp://ftp.pwr.wroc.pl/pub/linux/slackware/slackware-15.0/
-# http://ftp.pwr.wroc.pl/pub/linux/slackware/slackware-15.0/
# ftp://ftp.slackware.pl/pub/slackware/slackware-15.0/
# http://ftp.slackware.pl/pub/slackware/slackware-15.0/
# ftp://sunsite.icm.edu.pl/vol/rzm1/linux-slackware/slackware-15.0/
# http://sunsite.icm.edu.pl/packages/linux-slackware/slackware-15.0/
-# ftp://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware-15.0/
-# http://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware-15.0/
# RUSSIA (RU)
# http://mirror.rol.ru/slackware/slackware-15.0/
# ftp://mirror.yandex.ru/slackware/slackware-15.0/
@@ -185,22 +179,15 @@
# ftp://mirror.bytemark.co.uk/slackware/slackware-15.0/
# http://mirror.bytemark.co.uk/slackware/slackware-15.0/
# UNITED STATES (US)
-# ftp://ftp.gtlib.gatech.edu/nv/ao2/lxmirror/ftp.slackware.com/slackware-15.0/
# ftp://mirror.cs.princeton.edu/pub/mirrors/slackware/slackware-15.0/
-# ftp://mirrors.easynews.com/linux/slackware/slackware-15.0/
-# http://mirrors.easynews.com/linux/slackware/slackware-15.0/
-# ftp://mirrors.us.kernel.org/slackware/slackware-15.0/
# http://mirrors.us.kernel.org/slackware/slackware-15.0/
# ftp://mirrors.xmission.com/slackware/slackware-15.0/
# http://mirrors.xmission.com/slackware/slackware-15.0/
# https://mirror.slackbuilds.org/slackware/slackware-15.0/
# http://slackware.cs.utah.edu/pub/slackware/slackware-15.0/
# http://slackware.mirrors.pair.com/slackware-15.0/
-# ftp://slackware.mirrors.tds.net/pub/slackware/slackware-15.0/
# http://slackware.mirrors.tds.net/pub/slackware/slackware-15.0/
# http://spout.ussg.indiana.edu/linux/slackware/slackware-15.0/
-# ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware-15.0/
-# http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware-15.0/
#
#----------------------------------------------------------------
# Slackware-current
@@ -248,8 +235,8 @@
# http://mirrors.163.com/slackware/slackware-current/
# http://mirrors.ustc.edu.cn/slackware/slackware-current/
# COSTA RICA (CR)
-# ftp://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware-current/
-# http://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware-current/
+# ftp://mirrors.ucr.ac.cr/slackware/slackware-current/
+# http://mirrors.ucr.ac.cr/slackware/slackware-current/
# CZECH REPUBLIC (CZ)
# ftp://odysseus.linux.cz/pub/linux/slackware/slackware-current/
# http://odysseus.linux.cz/pub/linux/slackware/slackware-current/
@@ -294,8 +281,6 @@
# JAPAN (JP)
# ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware-current/
# http://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware-current/
-# ftp://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware-current/
-# http://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware-current/
# ftp://riksun.riken.go.jp/Linux/slackware/slackware-current/
# http://riksun.riken.go.jp/Linux/slackware/slackware-current/
# LITHUANIA (LT)
@@ -310,14 +295,10 @@
# ftp://ftp.slackware.no/slackware/slackware-current/
# http://ftp.slackware.no/slackware/slackware-current/
# POLAND (PL)
-# ftp://ftp.pwr.wroc.pl/pub/linux/slackware/slackware-current/
-# http://ftp.pwr.wroc.pl/pub/linux/slackware/slackware-current/
# ftp://ftp.slackware.pl/pub/slackware/slackware-current/
# http://ftp.slackware.pl/pub/slackware/slackware-current/
# ftp://sunsite.icm.edu.pl/vol/rzm1/linux-slackware/slackware-current/
# http://sunsite.icm.edu.pl/packages/linux-slackware/slackware-current/
-# ftp://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware-current/
-# http://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware-current/
# RUSSIA (RU)
# http://mirror.rol.ru/slackware/slackware-current/
# ftp://mirror.yandex.ru/slackware/slackware-current/
@@ -357,19 +338,11 @@
# ftp://slackware.mirrors.uk2.net/pub/slackware/slackware-current/
# http://slackware.mirrors.uk2.net/slackware-current/
# UNITED STATES (US)
-# ftp://ftp.gtlib.gatech.edu/nv/ao2/lxmirror/ftp.slackware.com/slackware-current/
# ftp://mirror.cs.princeton.edu/pub/mirrors/slackware/slackware-current/
-# ftp://mirrors.easynews.com/linux/slackware/slackware-current/
-# http://mirrors.easynews.com/linux/slackware/slackware-current/
-# ftp://mirrors.us.kernel.org/slackware/slackware-current/
# http://mirrors.us.kernel.org/slackware/slackware-current/
# ftp://mirrors.xmission.com/slackware/slackware-current/
# http://mirrors.xmission.com/slackware/slackware-current/
# https://mirror.slackbuilds.org/slackware/slackware-current/
# http://slackware.cs.utah.edu/pub/slackware/slackware-current/
-# http://slackware.mirrors.pair.com/slackware-current/
-# ftp://slackware.mirrors.tds.net/pub/slackware/slackware-current/
# http://slackware.mirrors.tds.net/pub/slackware/slackware-current/
# http://spout.ussg.indiana.edu/linux/slackware/slackware-current/
-# ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware-current/
-# http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware-current/
diff --git a/source/ap/slackpkg/files/mirrors-x86_64.sample b/source/ap/slackpkg/files/mirrors-x86_64.sample
index 4f7d8e8bc..08731e0b8 100644
--- a/source/ap/slackpkg/files/mirrors-x86_64.sample
+++ b/source/ap/slackpkg/files/mirrors-x86_64.sample
@@ -85,8 +85,8 @@
# http://mirrors.163.com/slackware/slackware64-15.0/
# http://mirrors.ustc.edu.cn/slackware/slackware64-15.0/
# COSTA RICA (CR)
-# ftp://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware64-15.0/
-# http://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware64-15.0/
+# ftp://mirrors.ucr.ac.cr/slackware/slackware64-15.0/
+# http://mirrors.ucr.ac.cr/slackware/slackware64-15.0/
# CZECH REPUBLIC (CZ)
# ftp://odysseus.linux.cz/pub/linux/slackware/slackware64-15.0/
# http://odysseus.linux.cz/pub/linux/slackware/slackware64-15.0/
@@ -124,8 +124,6 @@
# JAPAN (JP)
# ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware64-15.0/
# http://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware64-15.0/
-# ftp://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware64-15.0/
-# http://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware64-15.0/
# ftp://riksun.riken.go.jp/Linux/slackware/slackware64-15.0/
# http://riksun.riken.go.jp/Linux/slackware/slackware64-15.0/
# LITHUANIA (LT)
@@ -140,14 +138,10 @@
# ftp://ftp.slackware.no/slackware/slackware64-15.0/
# http://ftp.slackware.no/slackware/slackware64-15.0/
# POLAND (PL)
-# ftp://ftp.pwr.wroc.pl/pub/linux/slackware/slackware64-15.0/
-# http://ftp.pwr.wroc.pl/pub/linux/slackware/slackware64-15.0/
# ftp://ftp.slackware.pl/pub/slackware/slackware64-15.0/
# http://ftp.slackware.pl/pub/slackware/slackware64-15.0/
# ftp://sunsite.icm.edu.pl/vol/rzm1/linux-slackware/slackware64-15.0/
# http://sunsite.icm.edu.pl/packages/linux-slackware/slackware64-15.0/
-# ftp://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware64-15.0/
-# http://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware64-15.0/
# RUSSIA (RU)
# http://mirror.rol.ru/slackware/slackware64-15.0/
# ftp://mirror.yandex.ru/slackware/slackware64-15.0/
@@ -183,22 +177,14 @@
# ftp://mirror.bytemark.co.uk/slackware/slackware64-15.0/
# http://mirror.bytemark.co.uk/slackware/slackware64-15.0/
# UNITED STATES (US)
-# ftp://ftp.gtlib.gatech.edu/nv/ao2/lxmirror/ftp.slackware.com/slackware64-15.0/
# ftp://mirror.cs.princeton.edu/pub/mirrors/slackware/slackware64-15.0/
-# ftp://mirrors.easynews.com/linux/slackware/slackware64-15.0/
-# http://mirrors.easynews.com/linux/slackware/slackware64-15.0/
-# ftp://mirrors.us.kernel.org/slackware/slackware64-15.0/
# http://mirrors.us.kernel.org/slackware/slackware64-15.0/
# ftp://mirrors.xmission.com/slackware/slackware64-15.0/
# http://mirrors.xmission.com/slackware/slackware64-15.0/
# https://mirror.slackbuilds.org/slackware/slackware64-15.0/
# http://slackware.cs.utah.edu/pub/slackware/slackware64-15.0/
-# http://slackware.mirrors.pair.com/slackware64-15.0/
-# ftp://slackware.mirrors.tds.net/pub/slackware/slackware64-15.0/
# http://slackware.mirrors.tds.net/pub/slackware/slackware64-15.0/
# http://spout.ussg.indiana.edu/linux/slackware/slackware64-15.0/
-# ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-15.0/
-# http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-15.0/
#
#----------------------------------------------------------------
# Slackware64-current
@@ -246,8 +232,8 @@
# http://mirrors.163.com/slackware/slackware64-current/
# http://mirrors.ustc.edu.cn/slackware/slackware64-current/
# COSTA RICA (CR)
-# ftp://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware64-current/
-# http://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware64-current/
+# ftp://mirrors.ucr.ac.cr/slackware/slackware64-current/
+# http://mirrors.ucr.ac.cr/slackware/slackware64-current/
# CZECH REPUBLIC (CZ)
# ftp://odysseus.linux.cz/pub/linux/slackware/slackware64-current/
# http://odysseus.linux.cz/pub/linux/slackware/slackware64-current/
@@ -290,8 +276,6 @@
# JAPAN (JP)
# ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware64-current/
# http://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware64-current/
-# ftp://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware64-current/
-# http://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware64-current/
# ftp://riksun.riken.go.jp/Linux/slackware/slackware64-current/
# http://riksun.riken.go.jp/Linux/slackware/slackware64-current/
# LITHUANIA (LT)
@@ -306,14 +290,10 @@
# ftp://ftp.slackware.no/slackware/slackware64-current/
# http://ftp.slackware.no/slackware/slackware64-current/
# POLAND (PL)
-# ftp://ftp.pwr.wroc.pl/pub/linux/slackware/slackware64-current/
-# http://ftp.pwr.wroc.pl/pub/linux/slackware/slackware64-current/
# ftp://ftp.slackware.pl/pub/slackware/slackware64-current/
# http://ftp.slackware.pl/pub/slackware/slackware64-current/
# ftp://sunsite.icm.edu.pl/vol/rzm1/linux-slackware/slackware64-current/
# http://sunsite.icm.edu.pl/packages/linux-slackware/slackware64-current/
-# ftp://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware64-current/
-# http://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware64-current/
# RUSSIA (RU)
# http://mirror.rol.ru/slackware/slackware64-current/
# ftp://mirror.yandex.ru/slackware/slackware64-current/
@@ -349,19 +329,11 @@
# ftp://mirror.bytemark.co.uk/slackware/slackware64-current/
# http://mirror.bytemark.co.uk/slackware/slackware64-current/
# UNITED STATES (US)
-# ftp://ftp.gtlib.gatech.edu/nv/ao2/lxmirror/ftp.slackware.com/slackware64-current/
# ftp://mirror.cs.princeton.edu/pub/mirrors/slackware/slackware64-current/
-# ftp://mirrors.easynews.com/linux/slackware/slackware64-current/
-# http://mirrors.easynews.com/linux/slackware/slackware64-current/
-# ftp://mirrors.us.kernel.org/slackware/slackware64-current/
# http://mirrors.us.kernel.org/slackware/slackware64-current/
# ftp://mirrors.xmission.com/slackware/slackware64-current/
# http://mirrors.xmission.com/slackware/slackware64-current/
# https://mirror.slackbuilds.org/slackware/slackware64-current/
# http://slackware.cs.utah.edu/pub/slackware/slackware64-current/
-# http://slackware.mirrors.pair.com/slackware64-current/
-# ftp://slackware.mirrors.tds.net/pub/slackware/slackware64-current/
# http://slackware.mirrors.tds.net/pub/slackware/slackware64-current/
# http://spout.ussg.indiana.edu/linux/slackware/slackware64-current/
-# ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-current/
-# http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-current/
diff --git a/source/ap/slackpkg/files/post-functions.conf-sample b/source/ap/slackpkg/files/post-functions.conf-sample
index 1cbe04ad0..79b5b1b1d 100644
--- a/source/ap/slackpkg/files/post-functions.conf-sample
+++ b/source/ap/slackpkg/files/post-functions.conf-sample
@@ -1,4 +1,4 @@
-# You can list here the .new files and the default action
+# You can list here the .new files and the default action
# to do for each file. The list format is:
#
# /full/path/of/dot/new/file.new:action
@@ -9,6 +9,11 @@
# R to Remove the new file
# K to Keep the current and the .new files
#
+# Using "default" as file name, you'll set the action for
+# the .new files in batch mode. The action for each file
+# takes precedence over the "default" one.
+#
# E.g:
#/etc/slackpkg/mirrors.new:K
#/etc/ntp.conf.new:R
+#default:O
diff --git a/source/ap/slackpkg/files/post-functions.sh b/source/ap/slackpkg/files/post-functions.sh
index e0036430f..0339e0052 100644
--- a/source/ap/slackpkg/files/post-functions.sh
+++ b/source/ap/slackpkg/files/post-functions.sh
@@ -152,6 +152,7 @@ looknew() {
-name "*.new" \
${ONLY_NEW_DOTNEW} \
-not -name "rc.inet1.conf.new" \
+ -not -name "rc.wireless.conf.new" \
-not -name "group.new" \
-not -name "passwd.new" \
-not -name "shadow.new" \
@@ -248,6 +249,9 @@ EOF
answer
if [ "${BATCH}" = "on" ] && [ -n "${NEWCONFIG}" ]; then
ANSWER=P
+
+ # This allows to have a default behaviour for all .new files in batch mode.
+ DEF_AUTOANSWER="$(sed -ne 's#^default:\([ORK]\)#\1#p' $NEWCONFIG 2>/dev/null)"
fi
case $ANSWER in
K|k)
@@ -277,7 +281,7 @@ EOF
echo $ANSWER
else
if [ "${BATCH}" = "on" ]; then
- ANSWER=K
+ ANSWER=${DEF_AUTOANSWER:-K}
echo $ANSWER
else
read ANSWER
@@ -340,7 +344,10 @@ Your kernel image was updated, and lilo does not appear to be used on
your system. You may need to adjust your boot manager (like GRUB) to
boot the appropriate kernel (after generating an initrd if required)."
fi
- echo -e "Press the \"Enter\" key to continue...\n "
- read _junk
+
+ if [ "${BATCH}" != "on" ]; then
+ echo -e "Press the \"Enter\" key to continue...\n "
+ read _junk
+ fi
fi
}
diff --git a/source/ap/slackpkg/files/slackpkg b/source/ap/slackpkg/files/slackpkg
index f606574a1..cc95bb08f 100644
--- a/source/ap/slackpkg/files/slackpkg
+++ b/source/ap/slackpkg/files/slackpkg
@@ -222,7 +222,7 @@ while [ -n "$1" ] ; do
CMD=$1
shift
if [ -n "$1" ]; then
- if echo $1 | egrep -q "^\.{0,2}/" ; then
+ if echo $1 | grep -Eq "^\.{0,2}/" ; then
if [ -e $1 ]; then
INPUTLIST=$(cat $1 | tr "\n" " ")
else
@@ -328,11 +328,11 @@ case "$CMD" in
check-updates)
# output to stdout if no change, or stderr if changes. Will cause
# cron jobs to notify system admin
- if checkchangelog 1>/dev/null 2>/dev/null ; then
+ if checkchangelog 1>/dev/null 2>/dev/null && [ "$UPDATED" != "1" ] ; then
echo "Slackpkg: No updated packages since last check."
else
echo "Slackpkg: Updated packages are available since last check." >&2
- PENDING_UPDATES=1
+ EXIT_CODE=100
fi
;;
show-changelog)
@@ -356,7 +356,6 @@ case "$CMD" in
cleanup
fi
fi
- echo "Updating the package lists..."
updatefilelists
;;
install)
@@ -368,6 +367,7 @@ case "$CMD" in
echo -e "No packages match the pattern for install. Try:"
echo -e "\n\t$0 reinstall|upgrade $2\n"
POSTINST=off
+ EXIT_CODE=20
fi
;;
reinstall)
@@ -379,6 +379,7 @@ case "$CMD" in
echo -e "No packages match the pattern for reinstall. Try:"
echo -e "\n\t$0 install|upgrade $2\n"
POSTINST=off
+ EXIT_CODE=20
fi
;;
upgrade)
@@ -391,6 +392,7 @@ case "$CMD" in
echo -e "No packages match the pattern for upgrade. Try:"
echo -e "\n\t$0 install|reinstall $2\n"
POSTINST=off
+ EXIT_CODE=20
fi
;;
download)
@@ -404,12 +406,14 @@ case "$CMD" in
else
echo -e "No packages match the pattern for download."
POSTINST=off
+ EXIT_CODE=20
fi
;;
remove)
makelist $INPUTLIST
if [ "$LIST" = "" ]; then
echo -e "The file(s) $INPUTLIST can't be removed - package not installed.\n"
+ EXIT_CODE=20
cleanup
fi
showlist "$LIST" $CMD
@@ -423,6 +427,7 @@ case "$CMD" in
else
echo -e "No packages match the pattern for clean-system\n"
POSTINST=off
+ EXIT_CODE=20
fi
;;
upgrade-all)
@@ -432,6 +437,7 @@ case "$CMD" in
echo -e "No packages match the pattern for upgrade. Try:"
echo -e "\n\t$0 install|reinstall $2\n"
POSTINST=off
+ EXIT_CODE=20
else
showlist "$LIST" upgrade
if [ "$DOWNLOAD_ALL" = "on" ]; then
@@ -447,8 +453,9 @@ case "$CMD" in
if [ "$FOUND" != "" ]; then
getpkg $FOUND upgradepkg Upgrading
echo -e "slackpkg was upgraded - you will need start the upgrade process again...\n"
+ EXIT_CODE=50
cleanup
- exit 0
+ exit ${EXIT_CODE}
fi
for i in pkgtools aaa_glibc-solibs glibc-solibs aaa_libraries aaa_elflibs readline sed; do
FOUND=""
@@ -466,6 +473,7 @@ case "$CMD" in
echo -e "No packages match the pattern for install. Try:"
echo -e "\n\t$0 upgrade|reinstall $2\n"
POSTINST=off
+ EXIT_CODE=20
else
showlist "$LIST" install
install_pkg
diff --git a/source/ap/slackpkg/files/slackpkg.8 b/source/ap/slackpkg/files/slackpkg.8
index ab36202e4..46acc277b 100644
--- a/source/ap/slackpkg/files/slackpkg.8
+++ b/source/ap/slackpkg/files/slackpkg.8
@@ -1,4 +1,4 @@
-.TH SLACKPKG 8 "March 12, 2021" slackpkg-15.0.1 ""
+.TH SLACKPKG 8 "Oct 8, 2021" slackpkg-15.0.8 ""
.SH NAME
.B slackpkg
\- Automated tool for managing Slackware Linux packages
@@ -305,6 +305,20 @@ If you happen to be looking for a filename-with-space, you are safe to use the
left-most part up to the space (in that the right-most part after the space
will be ignored anyway (at best) or yield noise (at worst)).
+.SH EXIT STATUS
+.P
+.IP "\fB0\fP" 5
+Successful slackpkg execution.
+.IP "\fB1\fP" 5
+Something wrong happened.
+.IP "\fB20\fP" 5
+No package found to be downloaded, installed, reinstalled, upgraded, or
+removed.
+.IP "\fB50\fP" 5
+Slackpkg itself was upgraded and you need to re-run it.
+.IP "\fB100\fP" 5
+There are pending updates.
+
.SH FILES
.TP 5
.B /etc/slackpkg/mirrors
@@ -333,11 +347,3 @@ ChangeLog.txt, list of files, etcetera...
.BR explodepkg (8),
.BR makepkg (8),
.BR pkgtool (8).
-
-.SH AUTHORS
-.TP 5
-Piter PUNK aka Roberto F Batista
-<piterpk AT terra DOT com DOT br>
-.TP 5
-Evaldo Gardenali aka UdontKnow
-<evaldo AT fasternet DOT com DOT br>
diff --git a/source/ap/slackpkg/slackpkg.SlackBuild b/source/ap/slackpkg/slackpkg.SlackBuild
index 76c0347f4..eab285bb4 100755
--- a/source/ap/slackpkg/slackpkg.SlackBuild
+++ b/source/ap/slackpkg/slackpkg.SlackBuild
@@ -23,9 +23,9 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=slackpkg
-VERSION=${VERSION:-15.0.7}
+VERSION=${VERSION:-15.0.10}
ARCH="noarch"
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-3}
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
diff --git a/source/ap/soma/soma.SlackBuild b/source/ap/soma/soma.SlackBuild
index 1934416b6..a5724403f 100755
--- a/source/ap/soma/soma.SlackBuild
+++ b/source/ap/soma/soma.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=soma
VERSION=${VERSION:-3.3.7}
ARCH=noarch
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
@@ -37,9 +37,9 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-TMP=${TMP:-/tmp/daw}
+TMP=${TMP:-/tmp}
PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
+OUTPUT=${OUTPUT:-$TMP}
set -e
@@ -56,6 +56,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+cat $CWD/soma.desktop.strip.trailing.whitespace.diff | patch -p1 || exit 1
+
mkdir -p \
$PKG/install \
$PKG/etc/soma/themes \
diff --git a/source/ap/soma/soma.desktop.strip.trailing.whitespace.diff b/source/ap/soma/soma.desktop.strip.trailing.whitespace.diff
new file mode 100644
index 000000000..617f3d38a
--- /dev/null
+++ b/source/ap/soma/soma.desktop.strip.trailing.whitespace.diff
@@ -0,0 +1,22 @@
+--- ./soma.desktop.orig 2021-02-07 12:21:29.000000000 -0600
++++ ./soma.desktop 2024-02-16 13:58:32.684887399 -0600
+@@ -1,11 +1,11 @@
+-[Desktop Entry]
+-Version=1.0
+-Type=Application
++[Desktop Entry]
++Version=1.0
++Type=Application
+ Name=Internet Radio
+-Comment=Soma - Live Internet Streams
+-Exec=soma
+-Icon=Radio
+-Terminal=true
+-StartupNotify=false
++Comment=Soma - Live Internet Streams
++Exec=soma
++Icon=Radio
++Terminal=true
++StartupNotify=false
+ Categories=Application;Network;Audio;Player;
+ GenericName=Live Internet Radio Streams
diff --git a/source/ap/sox/sox.SlackBuild b/source/ap/sox/sox.SlackBuild
index 9ada6c9c8..fa8c4d363 100755
--- a/source/ap/sox/sox.SlackBuild
+++ b/source/ap/sox/sox.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=sox
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-8}
+BUILD=${BUILD:-9}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/sqlite/sqlite.SlackBuild b/source/ap/sqlite/sqlite.SlackBuild
index 6e4df6f07..a9d8139fe 100755
--- a/source/ap/sqlite/sqlite.SlackBuild
+++ b/source/ap/sqlite/sqlite.SlackBuild
@@ -123,7 +123,7 @@ cd $TMP
rm -rf $PKGNAM-src-$VERSION
tar xvf $CWD/$PKGNAM-src-$VERSION.tar.?z || exit 1
cd $PKGNAM-src-$VERSION || exit 1
-chown -R root.root .
+chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \+ -o \
@@ -153,15 +153,22 @@ LDFLAGS="$(icu-config --ldflags)" \
--enable-fts3 \
--enable-fts4 \
--enable-fts5 \
- --enable-json1 \
--enable-rtree \
--enable-session \
--enable-static=no \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
+
+make \
+ sqldiff \
+ sqlite3_analyzer || exit 1
+
make install DESTDIR=$PKG || exit 1
+install -m755 sqldiff sqlite3_analyzer \
+ $PKG/usr/bin/
+
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
diff --git a/source/ap/squashfs-tools/squashfs-tools.SlackBuild b/source/ap/squashfs-tools/squashfs-tools.SlackBuild
index 65f274986..cb2195dc3 100755
--- a/source/ap/squashfs-tools/squashfs-tools.SlackBuild
+++ b/source/ap/squashfs-tools/squashfs-tools.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright 2015, 2018 Eric Hameleers, Eindhoven, NL
-# Copyright 2017, 2018, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2017, 2018, 2021, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -30,7 +30,7 @@ BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
@@ -101,7 +101,19 @@ make $NUMJOBS \
COMP_DEFAULT="xz" || exit 1
# Install:
-make install INSTALL_DIR=$PKG/usr/bin || exit 1
+make install INSTALL_DIR=$PKG/usr/bin INSTALL_MANPAGES_DIR=$PKG/usr/man/man1 || exit 1
+
+# Fix (if needed) broken symlinks:
+( cd $PKG/usr/bin
+ if ls -l sqfscat | grep -q package-squashfs-tools ; then
+ rm sqfscat
+ ln -sf unsquashfs sqfscat
+ fi
+ if ls -l sqfstar | grep -q package-squashfs-tools ; then
+ rm sqfstar
+ ln -sf mksquashfs sqfstar
+ fi
+)
# Strip binaries:
( cd $PKG
@@ -114,6 +126,7 @@ cd ..
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
ACKNOWLEDGEMENTS CHANGES COPYING* INSTALL *README* \
+ examples/pseudo-file.example \
$PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
diff --git a/source/ap/sudo/sudo.SlackBuild b/source/ap/sudo/sudo.SlackBuild
index a1d65af65..42b9895d6 100755
--- a/source/ap/sudo/sudo.SlackBuild
+++ b/source/ap/sudo/sudo.SlackBuild
@@ -127,8 +127,8 @@ mv $PKG/etc/sudoers $PKG/etc/sudoers.new
rm -r $PKG/usr/doc/sudo-$VERSION
mkdir -p $PKG/usr/doc/sudo-$VERSION
cp -a \
- INSTALL NEWS README* \
- doc/{CONTRIBUTORS,HISTORY,LICENSE,TROUBLESHOOTING,UPGRADE} \
+ INSTALL* LICENSE* NEWS* README* \
+ docs/{CONTRIB*,HISTORY*,SECURITY*,TROUBLESHOOTING*,UPGRADE*} \
$PKG/usr/doc/sudo-$VERSION
chmod 644 $PKG/usr/doc/sudo-$VERSION/*
diff --git a/source/ap/sysstat/sysstat.SlackBuild b/source/ap/sysstat/sysstat.SlackBuild
index 6f772d5de..fc61cb959 100755
--- a/source/ap/sysstat/sysstat.SlackBuild
+++ b/source/ap/sysstat/sysstat.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2006, 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2018, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=sysstat
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -79,7 +79,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z || exit 1
cd ${PKGNAM}-$VERSION || exit 1
# Make sure ownerships and permissions are sane:
diff --git a/source/ap/sysstat/sysstat.url b/source/ap/sysstat/sysstat.url
index 4f46fe0e7..3047a92cc 100644
--- a/source/ap/sysstat/sysstat.url
+++ b/source/ap/sysstat/sysstat.url
@@ -1 +1,2 @@
-http://sebastien.godard.pagesperso-orange.fr/
+#http://sebastien.godard.pagesperso-orange.fr/
+https://github.com/sysstat/sysstat
diff --git a/source/ap/texinfo/texinfo.SlackBuild b/source/ap/texinfo/texinfo.SlackBuild
index 5698a1f72..cba119234 100755
--- a/source/ap/texinfo/texinfo.SlackBuild
+++ b/source/ap/texinfo/texinfo.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2016, 2018, 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2016, 2018, 2019, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=texinfo
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -86,6 +86,8 @@ find . \
# The --disable-perl-xs below prevents some perl extensions from being replaced
# by C versions which have been known to choke over UTF-8 issues:
+# NOTE (12/2022): Removed this option to get a2ps building again. Looks like
+# Arch (at least) does not include this option either.
CFLAGS="$SLKCFLAGS" \
./configure \
@@ -95,10 +97,11 @@ CFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--infodir=/usr/info \
--docdir=/usr/doc/texinfo-$VERSION \
- --disable-perl-xs \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
+# Don't run this - it falls over with perl-5.38.0:
+#make update-po || exit 1
make install DESTDIR=$PKG || exit 1
gzip -9 $PKG/usr/info/*info*
diff --git a/source/ap/tmux/tmux.SlackBuild b/source/ap/tmux/tmux.SlackBuild
index 9ed82bf25..91eca2911 100755
--- a/source/ap/tmux/tmux.SlackBuild
+++ b/source/ap/tmux/tmux.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2013, 2016, 2017, 2018, 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2013, 2016, 2017, 2018, 2019, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -30,7 +30,7 @@ BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
@@ -101,6 +101,8 @@ CFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--infodir=/usr/info \
--disable-static \
+ --enable-sixel \
+ --disable-cgroups \
--build=$ARCH-slackware-linux || exit 1
# Build and install:
@@ -126,8 +128,7 @@ chmod 644 $PKG/etc/tmux.conf.new
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- FAQ README TODO \
- examples \
+ CHANGES* COPYING* README* SYNCING*
example_tmux.conf \
$PKG/usr/doc/${PKGNAM}-$VERSION
@@ -168,4 +169,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/ap/undervolt/undervolt.SlackBuild b/source/ap/undervolt/undervolt.SlackBuild
index 929edd8a5..d1b089b19 100755
--- a/source/ap/undervolt/undervolt.SlackBuild
+++ b/source/ap/undervolt/undervolt.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2020, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=undervolt
VERSION=${VERSION:-$(echo ${PKGNAM}-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -58,7 +58,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 {} \+
-python3 setup.py install --root=$PKG || exit 1
+unshare -n python3 -m build --wheel --no-isolation || exit 1
+
+python3 -m installer --destdir "$PKG" dist/*.whl || exit 1
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a *.rst *.txt \
diff --git a/source/ap/usbmuxd/fetch-usbmuxd.sh b/source/ap/usbmuxd/fetch-usbmuxd.sh
index 76e3395cc..173cc49de 100755
--- a/source/ap/usbmuxd/fetch-usbmuxd.sh
+++ b/source/ap/usbmuxd/fetch-usbmuxd.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2019, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -37,8 +37,9 @@ git clone https://github.com/libimobiledevice/usbmuxd
HEADISAT="$( cd usbmuxd && git log -1 --format=%h )"
DATE="$( cd usbmuxd && git log -1 --format=%cd --date=format:%Y%m%d )"
LONGDATE="$( cd usbmuxd && git log -1 --format=%cd --date=format:%c )"
+# COMMENTED OUT: otherwise build fails due to not finding version / latest commit
# Cleanup. We're not packing up the whole git repo.
-( cd usbmuxd && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+#( cd usbmuxd && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
mv usbmuxd usbmuxd-${DATE}_${HEADISAT}
tar cf usbmuxd-${DATE}_${HEADISAT}.tar usbmuxd-${DATE}_${HEADISAT}
xz -9 -f usbmuxd-${DATE}_${HEADISAT}.tar
diff --git a/source/ap/usbmuxd/usbmuxd.SlackBuild b/source/ap/usbmuxd/usbmuxd.SlackBuild
index 46b7b69d9..2e952e13e 100755
--- a/source/ap/usbmuxd/usbmuxd.SlackBuild
+++ b/source/ap/usbmuxd/usbmuxd.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=usbmuxd
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/vim/ctags.use-conventional-unused-marker.patch b/source/ap/vim/ctags.use-conventional-unused-marker.patch
new file mode 100644
index 000000000..ca450dfa0
--- /dev/null
+++ b/source/ap/vim/ctags.use-conventional-unused-marker.patch
@@ -0,0 +1,305 @@
+From 9643017460c221fed5689bcc55a41230200c40cc Mon Sep 17 00:00:00 2001
+From: Simon Chopin <simon.chopin@canonical.com>
+Date: Fri, 13 Aug 2021 16:47:57 +0200
+Subject: build fix: Use conventional compiler attribute shorthand
+
+The `__unused` macro has been used on Linux systems for this exact
+purpose for ages. On the other hand, using the non-standard __unused__
+breaks the build when compiling against glibc 2.34, as they use this
+identifier internally.
+
+Last-Update: 2021-08-13
+
+Patch-Name: use-conventional-unused-marker.patch
+---
+ c.c | 4 ++--
+ eiffel.c | 2 +-
+ general.h | 6 ++++--
+ lregex.c | 30 +++++++++++++++---------------
+ lua.c | 2 +-
+ main.c | 2 +-
+ options.c | 24 ++++++++++++------------
+ parse.c | 2 +-
+ python.c | 2 +-
+ routines.c | 2 +-
+ 10 files changed, 39 insertions(+), 37 deletions(-)
+
+diff --git a/c.c b/c.c
+index 0cf0a14..c5d496b 100644
+--- a/c.c
++++ b/c.c
+@@ -619,7 +619,7 @@ static const char *keywordString (const keywordId keyword)
+ return name;
+ }
+
+-static void __unused__ pt (tokenInfo *const token)
++static void __unused pt (tokenInfo *const token)
+ {
+ if (isType (token, TOKEN_NAME))
+ printf ("type: %-12s: %-13s line: %lu\n",
+@@ -634,7 +634,7 @@ static void __unused__ pt (tokenInfo *const token)
+ tokenString (token->type), token->lineNumber);
+ }
+
+-static void __unused__ ps (statementInfo *const st)
++static void __unused ps (statementInfo *const st)
+ {
+ unsigned int i;
+ printf ("scope: %s decl: %s gotName: %s gotParenName: %s\n",
+diff --git a/eiffel.c b/eiffel.c
+index e2f5a5c..67bfaa1 100644
+--- a/eiffel.c
++++ b/eiffel.c
+@@ -807,7 +807,7 @@ static void findKeyword (tokenInfo *const token, const keywordId keyword)
+
+ static boolean parseType (tokenInfo *const token);
+
+-static void parseGeneric (tokenInfo *const token, boolean declaration __unused__)
++static void parseGeneric (tokenInfo *const token, boolean declaration __unused)
+ {
+ unsigned int depth = 0;
+ #ifdef TYPE_REFERENCE_TOOL
+diff --git a/general.h b/general.h
+index 2d1d629..049e215 100644
+--- a/general.h
++++ b/general.h
+@@ -57,10 +57,12 @@
+ * to prevent warnings about unused variables.
+ */
+ #if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) && !defined (__GNUG__)
+-# define __unused__ __attribute__((unused))
++# ifndef __unused
++# define __unused __attribute__((unused))
++# endif
+ # define __printf__(s,f) __attribute__((format (printf, s, f)))
+ #else
+-# define __unused__
++# define __unused
+ # define __printf__(s,f)
+ #endif
+
+diff --git a/lregex.c b/lregex.c
+index 37d7ea0..964508b 100644
+--- a/lregex.c
++++ b/lregex.c
+@@ -538,11 +538,11 @@ extern void findRegexTags (void)
+ #endif /* HAVE_REGEX */
+
+ extern void addTagRegex (
+- const langType language __unused__,
+- const char* const regex __unused__,
+- const char* const name __unused__,
+- const char* const kinds __unused__,
+- const char* const flags __unused__)
++ const langType language __unused,
++ const char* const regex __unused,
++ const char* const name __unused,
++ const char* const kinds __unused,
++ const char* const flags __unused)
+ {
+ #ifdef HAVE_REGEX
+ Assert (regex != NULL);
+@@ -564,10 +564,10 @@ extern void addTagRegex (
+ }
+
+ extern void addCallbackRegex (
+- const langType language __unused__,
+- const char* const regex __unused__,
+- const char* const flags __unused__,
+- const regexCallback callback __unused__)
++ const langType language __unused,
++ const char* const regex __unused,
++ const char* const flags __unused,
++ const regexCallback callback __unused)
+ {
+ #ifdef HAVE_REGEX
+ Assert (regex != NULL);
+@@ -581,7 +581,7 @@ extern void addCallbackRegex (
+ }
+
+ extern void addLanguageRegex (
+- const langType language __unused__, const char* const regex __unused__)
++ const langType language __unused, const char* const regex __unused)
+ {
+ #ifdef HAVE_REGEX
+ if (! regexBroken)
+@@ -602,7 +602,7 @@ extern void addLanguageRegex (
+ */
+
+ extern boolean processRegexOption (const char *const option,
+- const char *const parameter __unused__)
++ const char *const parameter __unused)
+ {
+ boolean handled = FALSE;
+ const char* const dash = strchr (option, '-');
+@@ -624,7 +624,7 @@ extern boolean processRegexOption (const char *const option,
+ return handled;
+ }
+
+-extern void disableRegexKinds (const langType language __unused__)
++extern void disableRegexKinds (const langType language __unused)
+ {
+ #ifdef HAVE_REGEX
+ if (language <= SetUpper && Sets [language].count > 0)
+@@ -639,8 +639,8 @@ extern void disableRegexKinds (const langType language __unused__)
+ }
+
+ extern boolean enableRegexKind (
+- const langType language __unused__,
+- const int kind __unused__, const boolean mode __unused__)
++ const langType language __unused,
++ const int kind __unused, const boolean mode __unused)
+ {
+ boolean result = FALSE;
+ #ifdef HAVE_REGEX
+@@ -660,7 +660,7 @@ extern boolean enableRegexKind (
+ return result;
+ }
+
+-extern void printRegexKinds (const langType language __unused__, boolean indent __unused__)
++extern void printRegexKinds (const langType language __unused, boolean indent __unused)
+ {
+ #ifdef HAVE_REGEX
+ if (language <= SetUpper && Sets [language].count > 0)
+diff --git a/lua.c b/lua.c
+index d385544..a2699c6 100644
+--- a/lua.c
++++ b/lua.c
+@@ -37,7 +37,7 @@ static kindOption LuaKinds [] = {
+ */
+
+ /* for debugging purposes */
+-static void __unused__ print_string (char *p, char *q)
++static void __unused print_string (char *p, char *q)
+ {
+ for ( ; p != q; p++)
+ fprintf (errout, "%c", *p);
+diff --git a/main.c b/main.c
+index 79948fe..38ce218 100644
+--- a/main.c
++++ b/main.c
+@@ -522,7 +522,7 @@ static void makeTags (cookedArgs *args)
+ * Start up code
+ */
+
+-extern int main (int __unused__ argc, char **argv)
++extern int main (int __unused argc, char **argv)
+ {
+ cookedArgs *args;
+ #ifdef VMS
+diff --git a/options.c b/options.c
+index ae773ef..029767c 100644
+--- a/options.c
++++ b/options.c
+@@ -730,7 +730,7 @@ static void processEtagsInclude (
+ }
+
+ static void processExcludeOption (
+- const char *const option __unused__, const char *const parameter)
++ const char *const option __unused, const char *const parameter)
+ {
+ const char *const fileName = parameter + 1;
+ if (parameter [0] == '\0')
+@@ -867,7 +867,7 @@ static void processFieldsOption (
+ }
+
+ static void processFilterTerminatorOption (
+- const char *const option __unused__, const char *const parameter)
++ const char *const option __unused, const char *const parameter)
+ {
+ freeString (&Option.filterTerminator);
+ Option.filterTerminator = stringCopy (parameter);
+@@ -929,8 +929,8 @@ static void printProgramIdentification (void)
+ }
+
+ static void processHelpOption (
+- const char *const option __unused__,
+- const char *const parameter __unused__)
++ const char *const option __unused,
++ const char *const parameter __unused)
+ {
+ printProgramIdentification ();
+ putchar ('\n');
+@@ -1138,8 +1138,8 @@ static void processLanguagesOption (
+ }
+
+ static void processLicenseOption (
+- const char *const option __unused__,
+- const char *const parameter __unused__)
++ const char *const option __unused,
++ const char *const parameter __unused)
+ {
+ printProgramIdentification ();
+ puts ("");
+@@ -1165,8 +1165,8 @@ static void processListKindsOption (
+ }
+
+ static void processListMapsOption (
+- const char *const __unused__ option,
+- const char *const __unused__ parameter)
++ const char *const __unused option,
++ const char *const __unused parameter)
+ {
+ if (parameter [0] == '\0' || strcasecmp (parameter, "all") == 0)
+ printLanguageMaps (LANG_AUTO);
+@@ -1182,8 +1182,8 @@ static void processListMapsOption (
+ }
+
+ static void processListLanguagesOption (
+- const char *const option __unused__,
+- const char *const parameter __unused__)
++ const char *const option __unused,
++ const char *const parameter __unused)
+ {
+ printLanguageList ();
+ exit (0);
+@@ -1357,8 +1357,8 @@ static void processIgnoreOption (const char *const list)
+ }
+
+ static void processVersionOption (
+- const char *const option __unused__,
+- const char *const parameter __unused__)
++ const char *const option __unused,
++ const char *const parameter __unused)
+ {
+ printProgramIdentification ();
+ exit (0);
+diff --git a/parse.c b/parse.c
+index 0b5e2c3..7e7361b 100644
+--- a/parse.c
++++ b/parse.c
+@@ -376,7 +376,7 @@ extern void freeParserResources (void)
+ */
+
+ extern void processLanguageDefineOption (
+- const char *const option, const char *const parameter __unused__)
++ const char *const option, const char *const parameter __unused)
+ {
+ #ifdef HAVE_REGEX
+ if (parameter [0] == '\0')
+diff --git a/python.c b/python.c
+index bf797de..f94e5de 100644
+--- a/python.c
++++ b/python.c
+@@ -135,7 +135,7 @@ static boolean isIdentifierCharacter (int c)
+ * extract all relevant information and create a tag.
+ */
+ static void makeFunctionTag (vString *const function,
+- vString *const parent, int is_class_parent, const char *arglist __unused__)
++ vString *const parent, int is_class_parent, const char *arglist __unused)
+ {
+ tagEntryInfo tag;
+ initTagEntry (&tag, vStringValue (function));
+diff --git a/routines.c b/routines.c
+index 8ebe2e0..c465626 100644
+--- a/routines.c
++++ b/routines.c
+@@ -526,7 +526,7 @@ static boolean isPathSeparator (const int c)
+
+ #if ! defined (HAVE_STAT_ST_INO)
+
+-static void canonicalizePath (char *const path __unused__)
++static void canonicalizePath (char *const path __unused)
+ {
+ #if defined (MSDOS_STYLE_PATH)
+ char *p;
diff --git a/source/ap/vim/doinst.sh b/source/ap/vim/doinst.sh
new file mode 100644
index 000000000..ebb76cc20
--- /dev/null
+++ b/source/ap/vim/doinst.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+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 usr/share/vim/vimrc.new
+
+# Responding to a report that in some cases the file
+# /usr/share/vim/vim90/defaults.vim must be edited in order to change settings
+# (some settings in the file will otherwise override those in
+# /usr/share/vim/vimrc), we will support a file in the same directory named
+# defaults.vim.custom. If this file exists, then it will replace the shipped
+# version of defaults.vim. The original file will be preserved as
+# defaults.vim.orig.
+if [ -r usr/share/vim/vim90/defaults.vim.custom ]; then
+ cp -a usr/share/vim/vim90/defaults.vim usr/share/vim/vim90/defaults.vim.orig
+ cp -a usr/share/vim/vim90/defaults.vim.custom usr/share/vim/vim90/defaults.vim
+fi
diff --git a/source/ap/vim/slack-desc.vim b/source/ap/vim/slack-desc.vim
index 114fd7e1d..7ab31571b 100644
--- a/source/ap/vim/slack-desc.vim
+++ b/source/ap/vim/slack-desc.vim
@@ -12,7 +12,7 @@ vim: Vim is an almost compatible version of the UNIX editor vi. Many new
vim: features have been added: multi level undo, command line history,
vim: filename completion, block operations, and more.
vim:
-vim: Vim's development is led by Bram Moolenaar.
+vim: Bram Moolenaar began working on Vim for the Amiga computer in 1988.
vim:
vim: This package also contains the Exuberant Ctags program
vim: written by Darren Hiebert.
diff --git a/source/ap/vim/slack-desc.vim-gvim b/source/ap/vim/slack-desc.vim-gvim
index cbdfa03d1..fabc433a9 100644
--- a/source/ap/vim/slack-desc.vim-gvim
+++ b/source/ap/vim/slack-desc.vim-gvim
@@ -15,5 +15,5 @@ vim-gvim: block operations, and more.
vim-gvim:
vim-gvim: The main vim package in the AP series is required to use this package.
vim-gvim:
-vim-gvim: Vim's development is led by Bram Moolenaar.
+vim-gvim: Bram Moolenaar began working on Vim for the Amiga computer in 1988.
vim-gvim:
diff --git a/source/ap/vim/vim-gvim.SlackBuild b/source/ap/vim/vim-gvim.SlackBuild
index 1cfc9a198..44b11e81d 100755
--- a/source/ap/vim/vim-gvim.SlackBuild
+++ b/source/ap/vim/vim-gvim.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2021, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -30,13 +30,16 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=vim-gvim
-VIMBRANCH=8.2
+VIMBRANCH=9.1
VERSION=$(echo vim-${VIMBRANCH}*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
BUILD=${BUILD:-1}
# The possible settings for this are yes/no/dynamic.
PERLINTERP=${PERLINTERP:-dynamic}
+# The possible settings for this are yes/no/dynamic.
+LUAINTERP=${LUAINTERP:-dynamic}
+
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -62,8 +65,6 @@ fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-PYVER=$(python -V 2>&1 | cut -f 2 -d' ' | cut -f 1-2 -d.)
-
if [ "$ARCH" = "x86_64" ]; then
export SLKCFLAGS="-O2 -fPIC"
export LIBDIRSUFFIX="64"
@@ -88,10 +89,9 @@ CFLAGS="$SLKCFLAGS" LDFLAGS="$SLKLDFLAGS" \
./configure \
$* \
--prefix=/usr \
- --with-python-config-dir=/usr/lib${LIBDIRSUFFIX}/python$PYVER/config \
- --with-python3-config-dir=$(python3-config --configdir) \
+ --enable-luainterp=$LUAINTERP \
--enable-perlinterp=$PERLINTERP \
- --enable-pythoninterp=dynamic \
+ --enable-pythoninterp=no \
--enable-python3interp=dynamic \
--enable-rubyinterp${RUBYDYNAMIC} \
--enable-tclinterp=dynamic \
diff --git a/source/ap/vim/vim.SlackBuild b/source/ap/vim/vim.SlackBuild
index 1ecadaa43..9897abc4a 100755
--- a/source/ap/vim/vim.SlackBuild
+++ b/source/ap/vim/vim.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2020, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2020, 2021, 2022, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,17 +23,22 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=vim
-VIMBRANCH=8.2
+VIMBRANCH=9.1
CTAGSVER=5.8
BUILD=${BUILD:-1}
# The possible settings for this are yes/no/dynamic.
PERLINTERP=${PERLINTERP:-dynamic}
+# The possible settings for this are yes/no/dynamic.
+LUAINTERP=${LUAINTERP:-dynamic}
+
if [ -r vim-${VIMBRANCH}*.tar.?z ]; then # if there's a source archive already, use the version number from it:
VERSION=$(echo vim-${VIMBRANCH}*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
else # need to fetch the latest source archive for this branch:
- VERSION="$(echo $(basename $(wget -q -O - https://github.com/vim/vim/releases | grep href.*v${VIMBRANCH} | head -n 1 | cut -f 2 -d \" )) | cut -b2- )"
+ #VERSION="$(wget -q -O - https://www.vim.org | grep "^${VIMBRANCH}" | head -n 1)"
+ # Let's take the version from github instead:
+ VERSION="$(wget -q -O - https://github.com/vim/vim/tags | grep v${VIMBRANCH} | head -n 1 | sed "s/^.*v${VIMBRANCH}/v${VIMBRANCH}/" | cut -f 1 -d '<' | tr -d v)"
( lftpget https://github.com/vim/vim/archive/v${VERSION}.tar.gz
gzip -d v${VERSION}.tar.gz
mv v${VERSION}.tar vim-${VERSION}.tar
@@ -70,8 +75,6 @@ fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-PYVER=$(python -V 2>&1 | cut -f 2 -d' ' | cut -f 1-2 -d.)
-
if [ "$ARCH" = "x86_64" ]; then
export SLKCFLAGS="-O2 -fPIC"
export LIBDIRSUFFIX="64"
@@ -99,6 +102,10 @@ find . \
-exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+
+# patch to solve an issue introduced by glibc-2.34 from http://deb.debian.org/debian/pool/main/e/exuberant-ctags/exuberant-ctags_5.9~svn20110310-15.debian.tar.xz
+zcat $CWD/ctags.use-conventional-unused-marker.patch.gz | patch -Esp1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" LDFLAGS="$SLKLDFLAGS" \
./configure \
--prefix=/usr \
@@ -124,10 +131,9 @@ CFLAGS="$SLKCFLAGS" \
./configure \
$* \
--prefix=/usr \
- --with-python-config-dir=/usr/lib${LIBDIRSUFFIX}/python$PYVER/config \
- --with-python3-config-dir=$(python3-config --configdir) \
+ --enable-luainterp=$LUAINTERP \
--enable-perlinterp=$PERLINTERP \
- --enable-pythoninterp=dynamic \
+ --enable-pythoninterp=no \
--enable-python3interp=dynamic \
--enable-rubyinterp${RUBYDYNAMIC} \
--enable-tclinterp=dynamic \
@@ -212,22 +218,8 @@ find $PKG/usr/doc/vim-$VERSION -type f | xargs chmod 644
( cd $PKG/usr/doc/vim-$VERSION ; ln -sf /usr/share/vim/vim$(echo $VIMBRANCH | tr -d .) doc )
mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc.vim > $PKG/install/slack-desc
-cat << EOF > $PKG/install/doinst.sh
-#!/bin/bash
-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 usr/share/vim/vimrc.new
-EOF
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/ap/vim/vim.url b/source/ap/vim/vim.url
new file mode 100644
index 000000000..ffd2f0a20
--- /dev/null
+++ b/source/ap/vim/vim.url
@@ -0,0 +1,3 @@
+https://github.com/vim/vim
+# Advisory list:
+https://stack.watch/product/vim
diff --git a/source/ap/vorbis-tools/vorbis-tools.SlackBuild b/source/ap/vorbis-tools/vorbis-tools.SlackBuild
index afb575a18..7f23e008e 100755
--- a/source/ap/vorbis-tools/vorbis-tools.SlackBuild
+++ b/source/ap/vorbis-tools/vorbis-tools.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=vorbis-tools
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/xfsdump/xfsdump.SlackBuild b/source/ap/xfsdump/xfsdump.SlackBuild
index 922ff2c98..18d782cfa 100755
--- a/source/ap/xfsdump/xfsdump.SlackBuild
+++ b/source/ap/xfsdump/xfsdump.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=xfsdump
VERSION=${VERSION:-$(echo xfsdump-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
diff --git a/source/ap/xmltoman/slack-desc b/source/ap/xmltoman/slack-desc
new file mode 100644
index 000000000..a95af03d3
--- /dev/null
+++ b/source/ap/xmltoman/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------------------------------------------------------|
+xmltoman: xmltoman (convert XML to groff or HTML)
+xmltoman:
+xmltoman: xmltoman and xmlmantohtml are two very simple scripts for converting
+xmltoman: XML to groff or HTML.
+xmltoman:
+xmltoman: Homepage: https://github.com/atsb/xmltoman
+xmltoman:
+xmltoman:
+xmltoman:
+xmltoman:
+xmltoman:
diff --git a/source/ap/xmltoman/xmltoman.SlackBuild b/source/ap/xmltoman/xmltoman.SlackBuild
new file mode 100755
index 000000000..40f40e450
--- /dev/null
+++ b/source/ap/xmltoman/xmltoman.SlackBuild
@@ -0,0 +1,119 @@
+#!/bin/bash
+
+# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=xmltoman
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+sed -i "s|prefix=/usr/local|prefix=/usr|g" Makefile
+sed -i "s|share/man|man|g" Makefile
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Compress manual 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
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* ChangeLog LICENSE* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/ap/xmltoman/xmltoman.url b/source/ap/xmltoman/xmltoman.url
new file mode 100644
index 000000000..eecc189b2
--- /dev/null
+++ b/source/ap/xmltoman/xmltoman.url
@@ -0,0 +1 @@
+https://github.com/atsb/xmltoman
diff --git a/source/ap/xorriso/xorriso.SlackBuild b/source/ap/xorriso/xorriso.SlackBuild
index 136ff2bb9..9f2adbfec 100755
--- a/source/ap/xorriso/xorriso.SlackBuild
+++ b/source/ap/xorriso/xorriso.SlackBuild
@@ -24,13 +24,13 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=xorriso
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
diff --git a/source/ap/zsh/zsh.SlackBuild b/source/ap/zsh/zsh.SlackBuild
index 748094d4b..3a5aa5c69 100755
--- a/source/ap/zsh/zsh.SlackBuild
+++ b/source/ap/zsh/zsh.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=zsh
VERSION=${VERSION:-$(echo ${PKGNAM}-[0-9]*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then