summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rwxr-xr-xsource/a/aaa_libraries/aaa_libraries.SlackBuild2
-rw-r--r--source/installer/ChangeLog.txt13
-rwxr-xr-xsource/installer/sources/initrd/sbin/probe45
-rw-r--r--source/kde/kde/build/kio2
-rw-r--r--source/kde/kde/patch/kio.patch1
-rw-r--r--source/kde/kde/patch/kio/c801571f.patch229
-rw-r--r--source/xap/libnma/gschema-Remove-path-from-eap-schema.patch28
-rwxr-xr-xsource/xap/libnma/libnma.SlackBuild6
8 files changed, 281 insertions, 45 deletions
diff --git a/source/a/aaa_libraries/aaa_libraries.SlackBuild b/source/a/aaa_libraries/aaa_libraries.SlackBuild
index 489087d64..e94dccc20 100755
--- a/source/a/aaa_libraries/aaa_libraries.SlackBuild
+++ b/source/a/aaa_libraries/aaa_libraries.SlackBuild
@@ -23,7 +23,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=aaa_libraries
VERSION=${VERSION:-15.1}
-BUILD=${BUILD:-15}
+BUILD=${BUILD:-16}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/installer/ChangeLog.txt b/source/installer/ChangeLog.txt
index b81fb8d36..d1671e1e4 100644
--- a/source/installer/ChangeLog.txt
+++ b/source/installer/ChangeLog.txt
@@ -1,3 +1,16 @@
+Mon Jan 9 09:37:40 UTC 2023
+ /sbin/probe: Removed old mmc discovery code.
+ Filter devices that contain reserved file system labels for Slackware
+ ARM/AArch64 and the A-i-O (All in One Offline) Installer.
+ This prevents the installation media and Slackware ARM system partitions from
+ appearing as candidates for formatting/mounting during setup.
+ Reserved labels:
+ SLKins = Media (usually a USB stick) containing the Slackware install media.
+ SLKboot = Slackware OS /boot partition; only reserved only on ARM/AArch64.
+ SLKhwm_bw = Hardware Model Bootware - native Bootware firmware/assets.
+ SLKins_aio-pkgs = A-i-O Installer's partition containing Slackware packages.
+ Thanks to Stuart Winter.
++--------------------------+
Thu Oct 13 12:29:18 UTC 2022
Moved libpcre2 from /usr/lib(64) to /lib(64). Thanks to Stuart Winter.
+--------------------------+
diff --git a/source/installer/sources/initrd/sbin/probe b/source/installer/sources/initrd/sbin/probe
index 2ba2e0f2a..d30920125 100755
--- a/source/installer/sources/initrd/sbin/probe
+++ b/source/installer/sources/initrd/sbin/probe
@@ -140,17 +140,6 @@ list_amiraid() {
fi
}
-#list_mmc() {
-# # find drive
-# DRV=`expr $2 / 8`
-# NUM=`expr $2 % 8`
-# if [ "$NUM" = "0" ]; then
-# fdisk -l /dev/mmcblk$DRV >> $TMP/SeTfdisk
-# #output_gpt_partitions /dev/mmcblk$DRV >> $TMP/SeTfdisk
-# else
-# return
-# fi
-#}
list_mmc() {
local device
# Filter out any partitions on the block device, as we'll use
@@ -445,4 +434,38 @@ sed -i -e "s/Linux filesystem/Linux/g" $TMP/SeTfdisk
sed -i -e "s/EFI System/EFI System Partition/g" $TMP/SeTfdisk
sed -i -e "s,EFI (FAT-12/16/32),EFI System Partition,g" $TMP/SeTfdisk
+# Filter out reserved file system labels for Slackware ARM/AArch64 and the
+# Slackware A-i-O (All in One Offline) Installer file systems.
+# This prevents them from being offered as candidates for formatting/mounting
+# during the installation.
+#
+# Labels:
+# SLKins = Media (usually a USB stick) containing the Slackware install media
+# This FS label isn't required to locate the media, but it's helpful
+# as a way to exclude the media from the list of candidates.
+# This label is included within the Installation Guide for the USB
+# media installation option.
+# SLKins_aio-pkgs =
+# The label of the partition on the All-In-One Installer that contains the
+# Slackware packages.
+# SLKhwm_bw = Hardware Model Bootware - native Bootware for the RPi
+#
+# 'SLKroot' is used to identify the OS root file system on ARM, but we don't
+# filter it out because it's *supposed* to appear as a candidate within the
+# menu. Whilst we don't ship any images that contain a file system with this label,
+# the user might be reinstalling, thus would never be presented with the partition.
+#
+# SLKboot = Slackware OS /boot partition, but is only reserved only on ARM/AArch64:
+[[ "$( uname -m )" =~ a(rm*|arch64) ]] && aexc="boot|"
+
+awk '/^\/dev\// {print $1}' /var/log/setup/tmp/SeTfdisk | while read device; do
+ # The wrapping of e2label is because whilst it handles other file system types,
+ # it includes verbosity about the filesystem type; where as for ext filesystems
+ # it outputs only the label.
+ { ( e2label ${device} 2>/dev/null | tail -n1 | rev \
+ | awk '{print $1}' | rev | tr -d "'" | \
+ grep -Eq "^SLK(${aexc}ins|ins_aio-pkgs|hwm_bw)$" ) && sed -i '\|^'"${device}\s"'|d' $TMP/SeTfdisk ;}
+done
+
+# Dump the discovered storage:
cat $TMP/SeTfdisk
diff --git a/source/kde/kde/build/kio b/source/kde/kde/build/kio
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/kio
+++ b/source/kde/kde/build/kio
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/patch/kio.patch b/source/kde/kde/patch/kio.patch
new file mode 100644
index 000000000..8c9550642
--- /dev/null
+++ b/source/kde/kde/patch/kio.patch
@@ -0,0 +1 @@
+cat $CWD/patch/kio/c801571f.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/kio/c801571f.patch b/source/kde/kde/patch/kio/c801571f.patch
new file mode 100644
index 000000000..1045ac4be
--- /dev/null
+++ b/source/kde/kde/patch/kio/c801571f.patch
@@ -0,0 +1,229 @@
+From c801571f78136692873ea3d2d22e35ac7e5fa530 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Wed, 28 Dec 2022 21:32:14 +0100
+Subject: [PATCH] Restore old behavior for KFileFilterCombo::setFilter
+
+fb2a2268dbb2033bb8483d9bee63cb11f914573e refactored it to use the newly introduced KFileFilter
+class to parse the input. However, it actually allows input that is not a valid filter string expression.
+
+For example K3B uses filters like "audio/x-wav |Wave Sound Files", which are now parsed incorrectly.
+
+Also, contrary to KFileWidget's filter strings slashes were allowed unescapted, which broke Krita.
+
+K3B's usage of KFileFilterCombo for this is somewhat questionable, but we should not break it regardless.
+
+Longer-term setFilter should be replaced with API that takes a KFileFilter object to avoid such confusion
+
+Revert the implementation of setFilter to the original one. For setMimeFilter the usage of KFileFilter is fine.
+That means we now have separate codepaths for when setFilter and setMimeFilter was called. Longer-term there will
+be only one using KFileFilter
+
+BUG: 463309
+---
+ autotests/kfilefiltercombotest.cpp | 20 +++++++++
+ src/filewidgets/kfilefiltercombo.cpp | 64 +++++++++++++++++++---------
+ 2 files changed, 65 insertions(+), 19 deletions(-)
+
+diff --git a/autotests/kfilefiltercombotest.cpp b/autotests/kfilefiltercombotest.cpp
+index bb155f2de..22a042020 100644
+--- a/autotests/kfilefiltercombotest.cpp
++++ b/autotests/kfilefiltercombotest.cpp
+@@ -65,6 +65,15 @@ void KFileFilterComboTest::testSetFilter_data()
+ QTest::addRow("mutiple_extension_multiple_filter")
+ << "*.cpp *.cc *.C|C++ Source Files\n*.h *.H|Header files" << QStringList{"C++ Source Files", "Header files"};
+ QTest::addRow("pattern_only") << "*.cpp" << QStringList{"*.cpp"};
++
++ // must handle an unescaped slash https://bugs.kde.org/show_bug.cgi?id=463309
++ QTest::addRow("slash") << "*.c *.cpp|C/C++ Files" << QStringList{"C/C++ Files"};
++
++ QString k3bFilter =
++ "*|All Files\naudio/x-mp3 audio/x-wav application/x-ogg |Sound Files\naudio/x-wav |Wave Sound Files\naudio/x-mp3 |MP3 Sound Files\napplication/x-ogg "
++ "|Ogg Vorbis Sound Files\nvideo/mpeg |MPEG Video Files";
++ QTest::addRow("k3b") << k3bFilter
++ << QStringList{"All Files", "Sound Files", "Wave Sound Files", "MP3 Sound Files", "Ogg Vorbis Sound Files", "MPEG Video Files"};
+ }
+
+ void KFileFilterComboTest::testDefaultFilter()
+@@ -177,6 +186,17 @@ void KFileFilterComboTest::testFilters_data()
+ QTest::addRow("mutiple_extension_multiple_filter")
+ << "*.cpp *.cc *.C|C++ Source Files\n*.h *.H|Header files" << QStringList{"*.cpp *.cc *.C|C++ Source Files", "*.h *.H|Header files"};
+ QTest::addRow("pattern_only") << "*.cpp" << QStringList{"*.cpp"};
++
++ QString k3bFilter =
++ "*|All Files\naudio/x-mp3 audio/x-wav application/x-ogg |Sound Files\naudio/x-wav |Wave Sound Files\naudio/x-mp3 |MP3 Sound Files\napplication/x-ogg "
++ "|Ogg Vorbis Sound Files\nvideo/mpeg |MPEG Video Files";
++ QTest::addRow("k3b") << k3bFilter
++ << QStringList{"*|All Files",
++ "audio/x-mp3 audio/x-wav application/x-ogg |Sound Files",
++ "audio/x-wav |Wave Sound Files",
++ "audio/x-mp3 |MP3 Sound Files",
++ "application/x-ogg |Ogg Vorbis Sound Files",
++ "video/mpeg |MPEG Video Files"};
+ }
+
+ void KFileFilterComboTest::testFilters()
+diff --git a/src/filewidgets/kfilefiltercombo.cpp b/src/filewidgets/kfilefiltercombo.cpp
+index 3d93af643..e751f0c25 100644
+--- a/src/filewidgets/kfilefiltercombo.cpp
++++ b/src/filewidgets/kfilefiltercombo.cpp
+@@ -41,7 +41,8 @@ public:
+ QString m_lastFilter;
+ QString m_defaultFilter = i18nc("Default mime type filter that shows all file types", "*|All Files");
+
+- QVector<KFileFilter> m_filters;
++ QVector<KFileFilter> m_fileFilters;
++ QStringList m_filters;
+ bool m_allTypes;
+ };
+
+@@ -62,22 +63,31 @@ KFileFilterCombo::KFileFilterCombo(QWidget *parent)
+
+ KFileFilterCombo::~KFileFilterCombo() = default;
+
+-void KFileFilterCombo::setFilter(const QString &filterString)
++void KFileFilterCombo::setFilter(const QString &filter)
+ {
+ clear();
+ d->m_filters.clear();
++ d->m_fileFilters.clear();
+ d->m_hasAllSupportedFiles = false;
+
+- const QVector<KFileFilter> filters = KFileFilter::fromFilterString(filterString);
+-
+- if (!filters.isEmpty()) {
+- d->m_filters = filters;
++ if (!filter.isEmpty()) {
++ QString tmp = filter;
++ int index = tmp.indexOf(QLatin1Char('\n'));
++ while (index > 0) {
++ d->m_filters.append(tmp.left(index));
++ tmp.remove(0, index + 1);
++ index = tmp.indexOf(QLatin1Char('\n'));
++ }
++ d->m_filters.append(tmp);
+ } else {
+- d->m_filters = KFileFilter::fromFilterString(d->m_defaultFilter);
++ d->m_filters.append(d->m_defaultFilter);
+ }
+
+- for (const KFileFilter &filter : std::as_const(d->m_filters)) {
+- addItem(filter.label());
++ QStringList::ConstIterator it;
++ QStringList::ConstIterator end(d->m_filters.constEnd());
++ for (it = d->m_filters.constBegin(); it != end; ++it) {
++ int tab = (*it).indexOf(QLatin1Char('|'));
++ addItem((tab < 0) ? *it : (*it).mid(tab + 1));
+ }
+
+ d->m_lastFilter = currentText();
+@@ -88,7 +98,13 @@ QString KFileFilterCombo::currentFilter() const
+ {
+ QString f = currentText();
+ if (f == itemText(currentIndex())) { // user didn't edit the text
+- f = d->m_filters.value(currentIndex()).toFilterString();
++
++ if (!d->m_filters.isEmpty()) {
++ f = d->m_filters.value(currentIndex());
++ } else {
++ f = d->m_fileFilters.value(currentIndex()).toFilterString();
++ }
++
+ if (d->m_isMimeFilter || (currentIndex() == 0 && d->m_hasAllSupportedFiles)) {
+ return f; // we have a MIME type as filter
+ }
+@@ -109,9 +125,13 @@ bool KFileFilterCombo::showsAllTypes() const
+
+ QStringList KFileFilterCombo::filters() const
+ {
++ if (!d->m_filters.isEmpty()) {
++ return d->m_filters;
++ }
++
+ QStringList result;
+
+- for (const KFileFilter &filter : std::as_const(d->m_filters)) {
++ for (const KFileFilter &filter : std::as_const(d->m_fileFilters)) {
+ result << filter.toFilterString();
+ }
+
+@@ -120,18 +140,23 @@ QStringList KFileFilterCombo::filters() const
+
+ void KFileFilterCombo::setCurrentFilter(const QString &filterString)
+ {
+- auto it = std::find_if(d->m_filters.cbegin(), d->m_filters.cend(), [filterString](const KFileFilter &filter) {
++ if (!d->m_filters.isEmpty()) {
++ setCurrentIndex(d->m_filters.indexOf(filterString));
++ return;
++ }
++
++ auto it = std::find_if(d->m_fileFilters.cbegin(), d->m_fileFilters.cend(), [filterString](const KFileFilter &filter) {
+ return filterString == filter.toFilterString();
+ });
+
+- if (it == d->m_filters.cend()) {
++ if (it == d->m_fileFilters.cend()) {
+ qCWarning(KIO_KFILEWIDGETS_KFILEFILTERCOMBO) << "Could not find filter" << filterString;
+ setCurrentIndex(-1);
+ Q_EMIT filterChanged();
+ return;
+ }
+
+- setCurrentIndex(std::distance(d->m_filters.cbegin(), it));
++ setCurrentIndex(std::distance(d->m_fileFilters.cbegin(), it));
+ Q_EMIT filterChanged();
+ }
+
+@@ -139,6 +164,7 @@ void KFileFilterCombo::setMimeFilter(const QStringList &types, const QString &de
+ {
+ clear();
+ d->m_filters.clear();
++ d->m_fileFilters.clear();
+ QString delim = QStringLiteral(", ");
+ d->m_hasAllSupportedFiles = false;
+ bool hasAllFilesFilter = false;
+@@ -181,7 +207,7 @@ void KFileFilterCombo::setMimeFilter(const QStringList &types, const QString &de
+ filter = KFileFilter::fromMimeType(*it);
+ }
+
+- d->m_filters.append(filter);
++ d->m_fileFilters.append(filter);
+ addItem(filter.label());
+
+ if (type.name() == defaultType) {
+@@ -195,7 +221,7 @@ void KFileFilterCombo::setMimeFilter(const QStringList &types, const QString &de
+
+ if (d->m_allTypes) {
+ QStringList allTypes;
+- for (const KFileFilter &filter : std::as_const(d->m_filters)) {
++ for (const KFileFilter &filter : std::as_const(d->m_fileFilters)) {
+ allTypes << filter.mimePatterns().join(QLatin1Char(' '));
+ }
+
+@@ -203,7 +229,7 @@ void KFileFilterCombo::setMimeFilter(const QStringList &types, const QString &de
+
+ if (count() <= 3) { // show the MIME type comments of at max 3 types
+ QStringList allComments;
+- for (const KFileFilter &filter : std::as_const(d->m_filters)) {
++ for (const KFileFilter &filter : std::as_const(d->m_fileFilters)) {
+ allComments << filter.label();
+ }
+
+@@ -214,13 +240,13 @@ void KFileFilterCombo::setMimeFilter(const QStringList &types, const QString &de
+ }
+
+ insertItem(0, allSupportedFilesFilter.label());
+- d->m_filters.prepend(allSupportedFilesFilter);
++ d->m_fileFilters.prepend(allSupportedFilesFilter);
+ setCurrentIndex(0);
+ }
+
+ if (hasAllFilesFilter) {
+ addItem(i18n("All Files"));
+- d->m_filters.append(KFileFilter(i18n("All Files"), {}, {QStringLiteral("application/octet-stream")}));
++ d->m_fileFilters.append(KFileFilter(i18n("All Files"), {}, {QStringLiteral("application/octet-stream")}));
+ }
+
+ d->m_lastFilter = currentText();
+--
+GitLab
+
diff --git a/source/xap/libnma/gschema-Remove-path-from-eap-schema.patch b/source/xap/libnma/gschema-Remove-path-from-eap-schema.patch
deleted file mode 100644
index f855a885c..000000000
--- a/source/xap/libnma/gschema-Remove-path-from-eap-schema.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
-Date: Wed, 9 Nov 2022 08:00:19 +0000
-Subject: gschema: Remove path from eap schema
-
-This one needs to be relocatable, otherwise creating a new VPN
-connection will fail with:
-
- settings object created with schema 'org.gnome.nm-applet.eap'
- and path '/org/gnome/nm-applet/eap/<uuid>/',
- but path '/org/gnome/nm-applet/eap/' is specified by schema
-
-Fixes: https://bugs.archlinux.org/task/76490
----
- org.gnome.nm-applet.eap.gschema.xml.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/org.gnome.nm-applet.eap.gschema.xml.in b/org.gnome.nm-applet.eap.gschema.xml.in
-index 0fc3ca9..f4a56ea 100644
---- a/org.gnome.nm-applet.eap.gschema.xml.in
-+++ b/org.gnome.nm-applet.eap.gschema.xml.in
-@@ -1,6 +1,6 @@
- <?xml version="1.0" encoding="UTF-8"?>
- <schemalist>
-- <schema id="org.gnome.nm-applet.eap" path="/org/gnome/nm-applet/eap/" gettext-domain="nm-applet">
-+ <schema id="org.gnome.nm-applet.eap" gettext-domain="nm-applet">
- <key name="ignore-ca-cert" type="b">
- <default>false</default>
- <summary>Ignore CA certificate</summary>
diff --git a/source/xap/libnma/libnma.SlackBuild b/source/xap/libnma/libnma.SlackBuild
index 5a0504275..2e2cc8c60 100755
--- a/source/xap/libnma/libnma.SlackBuild
+++ b/source/xap/libnma/libnma.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2020, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2020, 2022, 2023 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=libnma
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -74,8 +74,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-zcat $CWD/gschema-Remove-path-from-eap-schema.patch.gz | patch -p1 --verbose || exit 1
-
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
mkdir build