Merge branch 'ecne' of git.cmxsl.org:CMXSL.org/package-helpers-cmxsl into ecne-cmxsl

This commit is contained in:
Ark74 2026-02-08 18:01:21 -06:00
commit df3edf94be
478 changed files with 23443 additions and 336 deletions

View file

@ -0,0 +1,32 @@
diff --git a/html/pdf.html b/html/pdf.html
index 2e4143fa..9f58faa9 100644
--- a/html/pdf.html
+++ b/html/pdf.html
@@ -7,7 +7,7 @@
<body>
<div class="content clear-block">
<h1>"An Anarchist FAQ" in pdf format</h1>
-<p>To view and print out the file you will need to have Adobe Document Reader on your computer. This is free software that now comes on many computers and with many CD's. If you do not already have it you can <a href="http://www.adobe.com/products/acrobat/readstep.html"> download it from the Adobe site.</a> [or <a href="http://www.adobe.com/products/acrobat/alternate.html"> click here for a faster text only page</a>]</p>
+<p>To view or print this file, you will need a PDF reader installed on your computer. Many PDF readers are free software and are available on most systems. If you don't already have one, you can browse a list of options at <a href="https://pdfreaders.org">pdfreaders.org</a>, or install a PDF reader from your operating system's software repository.</p>
<h2><u>An Anarchist FAQ<br>
</u></h2>
<ul>
diff --git a/markdown/pdf.md b/markdown/pdf.md
index 0375b395..5994bd6f 100644
--- a/markdown/pdf.md
+++ b/markdown/pdf.md
@@ -1,9 +1,10 @@
# "An Anarchist FAQ" in pdf format
-To view and print out the file you will need to have Adobe Document Reader on
-your computer. This is free software that now comes on many computers and with
-many CD's. If you do not already have it you can [ download it from the Adobe
-for a faster text only
+To view or print this file, you will need a PDF reader installed on your
+computer. Many PDF readers are free software and are available on most
+systems. If you don't already have one, you can browse a list of options at
+pdfreaders.org, or install a PDF reader from your operating system's software
+repository
## _An Anarchist FAQ
_

View file

@ -0,0 +1,15 @@
diff --git a/profiles/usr.bin.pidgin b/profiles/usr.bin.pidgin
index 78338084..6d18657d 100644
--- a/profiles/usr.bin.pidgin
+++ b/profiles/usr.bin.pidgin
@@ -90,6 +90,10 @@
# https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/43
owner /{,var/}run/user/*/at-spi/bus* rw,
+ # Allow IBus private socket under HOME cache (used by some IBus setups)
+ owner @{HOME}/.cache/ibus/ r,
+ owner @{HOME}/.cache/ibus/* rw,
+
# Site-specific additions and overrides. See local/README for details.
#include <local/usr.bin.pidgin>
}

View file

@ -0,0 +1,34 @@
From 16145e6d4e86f0c6fc58a0e3ceec6ba16a84d900 Mon Sep 17 00:00:00 2001
From: Ondrej Holy <oholy@redhat.com>
Date: Tue, 31 Mar 2020 15:55:56 +0200
Subject: [PATCH] file: Fallback to fast-content-type if content-type is not
set
The G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE attribute doesn't have to be
always set. See https://gitlab.gnome.org/GNOME/gvfs/-/merge_requests/68
for more details. In that case, Caja fallbacks to the
"application/octet-stream" type, which causes issues when opening the
files. Let's fallback to the "standard::fast-content-type" attribute
instead to fix issues when opening such files.
Imported from Nautilus commit: https://gitlab.gnome.org/GNOME/nautilus/-/commit/0e5978035b0fc87c91d7b93ed79c64d51b6d6825
Fixes #1840.
---
libcaja-private/caja-file.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libcaja-private/caja-file.c b/libcaja-private/caja-file.c
index faa7bb50e..faea79932 100644
--- a/libcaja-private/caja-file.c
+++ b/libcaja-private/caja-file.c
@@ -2460,6 +2460,9 @@ update_info_internal (CajaFile *file,
}
mime_type = g_file_info_get_content_type (info);
+ if (mime_type == NULL) {
+ mime_type = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE);
+ }
if (eel_strcmp (file->details->mime_type, mime_type) != 0) {
changed = TRUE;
g_clear_pointer (&file->details->mime_type, g_ref_string_release);

View file

@ -0,0 +1,175 @@
diff --git a/casper-md5check/casper-md5check.c b/casper-md5check/casper-md5check.c
index a1e4f753..5213fd3d 100644
--- a/casper-md5check/casper-md5check.c
+++ b/casper-md5check/casper-md5check.c
@@ -39,6 +39,10 @@
#define MD5_LEN 16
+/* Show a human-friendly percent message every N percent points.
+ * Script themes like trisquel-logo display messages but ignore fsck: status updates. */
+#define PLYMOUTH_PERCENT_STEP 1
+
#define RESULT_FILE "/run/casper-md5check.json"
#define BROKEN_FILE " \"checksum_missmatch\": [ "
#define RESULT_PASS " \"result\": \"pass\"\n}\n"
@@ -215,14 +219,36 @@ void plymouth_success(ply_boot_client_t *client, char *format, ...) {
}
void plymouth_progress(ply_boot_client_t *client, int progress, char *checkfile) {
- static int prevprogress = -1;
- char *s;
+ static int prev_bucket = -1;
+ int bucket = progress / PLYMOUTH_PERCENT_STEP;
+ char *s = NULL;
+ char *m = NULL;
- if (progress == prevprogress)
+ if (bucket == prev_bucket)
return;
- prevprogress = progress;
+ prev_bucket = bucket;
if (got_plymouth) {
+ /* Always emit a visible message with percent; trisquel-logo shows this. */
+ const char *name = checkfile;
+ if (name) {
+ const char *slash = strrchr(name, '/');
+ if (slash && slash[1])
+ name = slash + 1;
+ }
+ if (name)
+ asprintf(&m, "Checking integrity: %03d%% (%s)", progress, name);
+ else
+ asprintf(&m, "Checking integrity: %03d%%", progress);
+
+ if (m) {
+ ply_boot_client_tell_daemon_to_display_message(client, m,
+ plymouth_response,
+ plymouth_response, NULL);
+ ply_boot_client_flush(client);
+ free(m);
+ }
+
if (checkfile) {
if (spinner_theme)
asprintf(&s, "fsckd:1:%d:Checking %s", progress, checkfile);
@@ -260,10 +260,12 @@ void plymouth_progress(ply_boot_client_t *client, int progress, char *checkfile)
else
asprintf(&s, "fsck:md5sums:%d", progress);
}
- ply_boot_client_update_daemon(client, s, plymouth_response,
- plymouth_response, NULL);
- ply_boot_client_flush(client);
- free(s);
+ if (s) {
+ ply_boot_client_update_daemon(client, s, plymouth_response,
+ plymouth_response, NULL);
+ ply_boot_client_flush(client);
+ free(s);
+ }
} else {
printf(".");
fflush(stdout);
@@ -304,7 +304,7 @@ int main(int argc, char **argv) {
parse_cmdline();
- //client = ply_boot_client_new();
+ client = ply_boot_client_new();
if (client)
ply_event_loop = ply_event_loop_new();
if (ply_event_loop)
@@ -445,6 +445,7 @@ cmdline_skip:
if (skip_and_exit) {
result = RESULT_SKIP;
plymouth_urgent(client, "Check skipped.");
+ sleep(3);
} else if (failed) {
result = RESULT_FAIL;
plymouth_urgent(client, "Check finished: errors found in %d files! You might encounter errors.", failed);
@@ -452,9 +453,11 @@ cmdline_skip:
} else {
result = RESULT_PASS;
plymouth_urgent(client, "Check finished: no errors found.");
+ sleep(3);
}
+
fprintf(result_file, "%s", result);
fclose(result_file);
plymouth_urgent(client, "");
return 0;
}
diff --git a/debian/casper.casper-md5check.service b/debian/casper.casper-md5check.service
index 0af66ec2..6a5860fa 100644
--- a/debian/casper.casper-md5check.service
+++ b/debian/casper.casper-md5check.service
@@ -1,12 +1,26 @@
[Unit]
Description=casper-md5check Verify Live ISO checksums
-After=multi-user.target
+ConditionKernelCommandLine=integrity-check
+After=local-fs.target plymouth-start.service
+Before=multi-user.target plymouth-quit.service plymouth-quit-wait.service display-manager.service graphical.target
[Service]
Type=oneshot
+
+# /cdrom is typically mounted by casper/initramfs (not systemd), and cdrom.mount may be masked.
+# So we wait until /cdrom is mounted and md5sum.txt exists instead of RequiresMountsFor=/cdrom.
+ExecStartPre=/bin/sh -c 'i=0; while [ "$i" -lt 200 ]; do grep -qs " /cdrom " /proc/mounts && [ -f /cdrom/md5sum.txt ] && exit 0; i=$((i+1)); sleep 0.1; done; echo "casper-md5check: /cdrom no listo" >&2; exit 1'
+
ExecStart=/usr/lib/casper/casper-md5check /cdrom /cdrom/md5sum.txt
-Nice=19
RemainAfterExit=yes
+StandardOutput=journal+console
+StandardError=journal+console
+
+# casper-md5check uses libplymouth; give it a controlling TTY or it may abort.
+StandardInput=tty
+TTYPath=/dev/console
+
+Nice=19
IOSchedulingClass=idle
IOSchedulingPriority=7
diff --git a/bin/casper-stop b/bin/casper-stop
index 56174681..5fab7c36 100755
--- a/bin/casper-stop
+++ b/bin/casper-stop
@@ -100,31 +100,9 @@ do_stop ()
return 0
fi
- # XXX - i18n
- MSG="Please remove the installation medium, then press ENTER: "
- MSG_FALLBACK="Please remove the installation medium, then reboot."
-
- if [ "$prompt" ]; then
- if [ -x /bin/plymouth ] && plymouth --ping; then
- chvt 63
- plymouth message --text="$MSG"
- clear > /dev/tty1
- echo $MSG_FALLBACK > /dev/tty1
- else
- stty sane < /dev/console
- echo $MSG > /dev/console
- fi
- fi
-
- eject -p -m $device >/dev/null 2>&1
-
- [ "$prompt" ] || return 0
-
- if [ -x /bin/plymouth ] && plymouth --ping; then
- plymouth watch-keystroke > /dev/null
- else
- read x < /dev/console
- fi
+ # Trisquel: We no longer block shutdown/reboot waiting for user input.
+ eject -p -m "$device" >/dev/null 2>&1 || true
+ return 0
}
do_stop

View file

@ -1,17 +0,0 @@
--- a/scripts/reproducible-check 2023-04-02 17:44:26+00:00
+++ b/scripts/reproducible-check 2024-06-21 06:33:30.224688+00:00
@@ -198,13 +198,13 @@
# We may have installed a binNMU version locally so we need to
# strip these off when looking up against the JSON of results.
version = re.sub(r"\+b\d+$", "", pkg_ver.version)
- result[
- (pkg.shortname, pkg_ver.architecture, version)
- ] = pkg_ver.source_name
+ result[(pkg.shortname, pkg_ver.architecture, version)] = (
+ pkg_ver.source_name
+ )
self.log.debug("Parsed %d installed binary packages", len(result))

View file

@ -0,0 +1,406 @@
From 1dcda49f5ca719dfea822a34ac7925246875240f Mon Sep 17 00:00:00 2001
From: Victor Kareh <vkareh@redhat.com>
Date: Thu, 24 Jul 2025 09:23:56 -0400
Subject: [PATCH 1/2] EomUtil: Add helper to get content type from GFileInfos
This prefers the real content type, but automatically falls back to the
fast content type the other one isn't set in the GFileInfo.
Backported from https://gitlab.gnome.org/GNOME/eog/-/commit/4f80d090fd8f27c8d430dfe5931ea53446643ec7
---
src/eom-util.c | 18 ++++++++++++++++++
src/eom-util.h | 3 +++
2 files changed, 21 insertions(+)
diff --git a/src/eom-util.c b/src/eom-util.c
index e9142235..a839f6fd 100644
--- a/src/eom-util.c
+++ b/src/eom-util.c
@@ -482,3 +482,21 @@ eom_notebook_scroll_event_cb (GtkWidget *widget,
return TRUE;
}
+
+const char*
+eom_util_get_content_type_with_fallback (GFileInfo *file_info)
+{
+ g_return_val_if_fail (file_info != NULL, NULL);
+
+ if (g_file_info_has_attribute (file_info,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE))
+ return g_file_info_get_content_type (file_info);
+ else if (g_file_info_has_attribute (file_info,
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE))
+ return g_file_info_get_attribute_string (file_info,
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE);
+ else
+ g_warn_if_reached ();
+
+ return NULL;
+}
diff --git a/src/eom-util.h b/src/eom-util.h
index d08b88ae..9f2c3704 100644
--- a/src/eom-util.h
+++ b/src/eom-util.h
@@ -68,6 +68,9 @@ void eom_util_show_file_in_filemanager (GFile *file,
gboolean eom_notebook_scroll_event_cb (GtkWidget *notebook,
GdkEventScroll *event);
+G_GNUC_INTERNAL
+const char *eom_util_get_content_type_with_fallback (GFileInfo *file_info);
+
G_END_DECLS
#endif /* __EOM_UTIL_H__ */
From f1275445e638d3c38c93457227602b7314f59d86 Mon Sep 17 00:00:00 2001
From: Victor Kareh <vkareh@redhat.com>
Date: Thu, 24 Jul 2025 09:26:33 -0400
Subject: [PATCH 2/2] Eom*: Use fast content type as fallback
It turns out that, depending on the responsible GVfs implementation,
a GFileInfo may not actually set the content type attribute even if
requested. Since knowing the content type is rather critical for eom
try to use the fast content type as a fallback in those cases.
The fast content type should be hardly unknown as it is usually just
based on the file extension.
Fixes #360.
Backported from https://gitlab.gnome.org/GNOME/eog/-/commit/de19faf73c8d8627193320d512c8b97316d9740c
---
src/eom-file-chooser.c | 6 ++++--
src/eom-image.c | 8 +++++---
src/eom-jobs.c | 7 +++++--
src/eom-list-store.c | 18 ++++++++++++------
src/eom-metadata-sidebar.c | 5 +++--
src/eom-properties-dialog.c | 5 +++--
src/eom-thumb-view.c | 6 ++++--
src/eom-thumbnail.c | 4 +++-
src/eom-window.c | 10 ++++++----
9 files changed, 45 insertions(+), 24 deletions(-)
diff --git a/src/eom-file-chooser.c b/src/eom-file-chooser.c
index 5d82901d..5c366fae 100644
--- a/src/eom-file-chooser.c
+++ b/src/eom-file-chooser.c
@@ -22,6 +22,7 @@
#include "eom-file-chooser.h"
#include "eom-config-keys.h"
#include "eom-pixbuf-util.h"
+#include "eom-util.h"
#include <stdlib.h>
@@ -333,7 +334,8 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
G_FILE_ATTRIBUTE_TIME_MODIFIED ","
G_FILE_ATTRIBUTE_STANDARD_TYPE ","
G_FILE_ATTRIBUTE_STANDARD_SIZE ","
- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
0, NULL, NULL);
g_object_unref (file);
@@ -352,7 +354,7 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
/* read files smaller than 100kb directly */
gchar *mime_type = g_content_type_get_mime_type (
- g_file_info_get_content_type (file_info));
+ eom_util_get_content_type_with_fallback (file_info));
if (G_LIKELY (mime_type)) {
gboolean can_thumbnail, has_failed;
diff --git a/src/eom-image.c b/src/eom-image.c
index f24b5282..e9741efe 100644
--- a/src/eom-image.c
+++ b/src/eom-image.c
@@ -589,7 +589,8 @@ eom_image_get_file_info (EomImage *img,
file_info = g_file_query_info (img->priv->file,
G_FILE_ATTRIBUTE_STANDARD_SIZE ","
- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
0, NULL, error);
if (file_info == NULL) {
@@ -607,8 +608,9 @@ eom_image_get_file_info (EomImage *img,
if (bytes)
*bytes = g_file_info_get_size (file_info);
- if (mime_type)
- *mime_type = g_strdup (g_file_info_get_content_type (file_info));
+ if (mime_type) {
+ *mime_type = g_strdup (eom_util_get_content_type_with_fallback (file_info));
+ }
g_object_unref (file_info);
}
}
diff --git a/src/eom-jobs.c b/src/eom-jobs.c
index 71042681..0b518004 100644
--- a/src/eom-jobs.c
+++ b/src/eom-jobs.c
@@ -30,6 +30,7 @@
#include "eom-list-store.h"
#include "eom-thumbnail.h"
#include "eom-pixbuf-util.h"
+#include "eom-util.h"
#include <gdk-pixbuf/gdk-pixbuf.h>
@@ -385,7 +386,9 @@ filter_files (GSList *files, GList **file_list, GList **error_list)
if (file != NULL) {
file_info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_STANDARD_TYPE","G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_ATTRIBUTE_STANDARD_TYPE","
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
0, NULL, NULL);
if (file_info == NULL) {
type = G_FILE_TYPE_UNKNOWN;
@@ -397,7 +400,7 @@ filter_files (GSList *files, GList **file_list, GList **error_list)
if (G_UNLIKELY (type == G_FILE_TYPE_UNKNOWN)) {
const gchar *ctype;
- ctype = g_file_info_get_content_type (file_info);
+ ctype = eom_util_get_content_type_with_fallback (file_info);
/* If the content type is supported
adjust the file_type */
diff --git a/src/eom-list-store.c b/src/eom-list-store.c
index 3d1a9c68..9336614b 100644
--- a/src/eom-list-store.c
+++ b/src/eom-list-store.c
@@ -26,6 +26,7 @@
#include "eom-image.h"
#include "eom-job-queue.h"
#include "eom-jobs.h"
+#include "eom-util.h"
#include <string.h>
@@ -378,12 +379,13 @@ file_monitor_changed_cb (GFileMonitor *monitor,
case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
file_info = g_file_query_info (file,
G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE ","
G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME,
0, NULL, NULL);
if (file_info == NULL) {
break;
}
- mimetype = g_file_info_get_content_type (file_info);
+ mimetype = eom_util_get_content_type_with_fallback (file_info);
if (is_file_in_list_store_file (store, file, &iter)) {
if (eom_image_is_supported_mime_type (mimetype)) {
@@ -419,12 +421,13 @@ file_monitor_changed_cb (GFileMonitor *monitor,
if (!is_file_in_list_store_file (store, file, NULL)) {
file_info = g_file_query_info (file,
G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE ","
G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME,
0, NULL, NULL);
if (file_info == NULL) {
break;
}
- mimetype = g_file_info_get_content_type (file_info);
+ mimetype = eom_util_get_content_type_with_fallback (file_info);
if (eom_image_is_supported_mime_type (mimetype)) {
const gchar *caption;
@@ -437,12 +440,13 @@ file_monitor_changed_cb (GFileMonitor *monitor,
break;
case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
file_info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
0, NULL, NULL);
if (file_info == NULL) {
break;
}
- mimetype = g_file_info_get_content_type (file_info);
+ mimetype = eom_util_get_content_type_with_fallback (file_info);
if (is_file_in_list_store_file (store, file, &iter) &&
eom_image_is_supported_mime_type (mimetype)) {
eom_list_store_thumbnail_refresh (store, &iter);
@@ -468,7 +472,7 @@ directory_visit (GFile *directory,
gboolean load_uri = FALSE;
const char *mime_type, *name;
- mime_type = g_file_info_get_content_type (children_info);
+ mime_type = eom_util_get_content_type_with_fallback (children_info);
name = g_file_info_get_name (children_info);
if (!g_str_has_prefix (name, ".")) {
@@ -512,6 +516,7 @@ eom_list_store_append_directory (EomListStore *store,
file_enumerator = g_file_enumerate_children (file,
G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE ","
G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME ","
G_FILE_ATTRIBUTE_STANDARD_NAME,
0, NULL, NULL);
@@ -565,6 +570,7 @@ eom_list_store_add_files (EomListStore *store, GList *file_list, gboolean preser
file_info = g_file_query_info (file,
G_FILE_ATTRIBUTE_STANDARD_TYPE","
G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE","
G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME,
0, NULL, NULL);
if (file_info == NULL) {
@@ -578,7 +584,7 @@ eom_list_store_add_files (EomListStore *store, GList *file_list, gboolean preser
if (G_UNLIKELY (file_type == G_FILE_TYPE_UNKNOWN)) {
const gchar *ctype;
- ctype = g_file_info_get_content_type (file_info);
+ ctype = eom_util_get_content_type_with_fallback (file_info);
/* If the content type is supported adjust file_type */
if (eom_image_is_supported_mime_type (ctype))
diff --git a/src/eom-metadata-sidebar.c b/src/eom-metadata-sidebar.c
index 9b8fc8b8..2dbde74b 100644
--- a/src/eom-metadata-sidebar.c
+++ b/src/eom-metadata-sidebar.c
@@ -158,14 +158,15 @@ eom_metadata_sidebar_update_general_section (EomMetadataSidebar *sidebar)
file = eom_image_get_file (img);
file_info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
0, NULL, NULL);
if (file_info == NULL) {
str = g_strdup (_("Unknown"));
} else {
const gchar *mime_str;
- mime_str = g_file_info_get_content_type (file_info);
+ mime_str = eom_util_get_content_type_with_fallback (file_info);
str = g_content_type_get_description (mime_str);
g_object_unref (file_info);
}
diff --git a/src/eom-properties-dialog.c b/src/eom-properties-dialog.c
index 0bad997d..480b3f74 100644
--- a/src/eom-properties-dialog.c
+++ b/src/eom-properties-dialog.c
@@ -173,12 +173,13 @@ pd_update_general_tab (EomPropertiesDialog *prop_dlg,
file = eom_image_get_file (image);
file_info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
0, NULL, NULL);
if (file_info == NULL) {
type_str = g_strdup (_("Unknown"));
} else {
- mime_str = g_file_info_get_content_type (file_info);
+ mime_str = eom_util_get_content_type_with_fallback (file_info);
type_str = g_content_type_get_description (mime_str);
g_object_unref (file_info);
}
diff --git a/src/eom-thumb-view.c b/src/eom-thumb-view.c
index 0b28440d..332d180a 100644
--- a/src/eom-thumb-view.c
+++ b/src/eom-thumb-view.c
@@ -27,6 +27,7 @@
#include "eom-list-store.h"
#include "eom-image.h"
#include "eom-job-queue.h"
+#include "eom-util.h"
#ifdef HAVE_EXIF
#include "eom-exif-util.h"
@@ -494,7 +495,8 @@ thumbview_get_tooltip_string (EomImage *image)
file = eom_image_get_file (image);
file_info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
0, NULL, NULL);
g_object_unref (file);
if (file_info == NULL) {
@@ -502,7 +504,7 @@ thumbview_get_tooltip_string (EomImage *image)
return NULL;
}
- mime_str = g_file_info_get_content_type (file_info);
+ mime_str = eom_util_get_content_type_with_fallback (file_info);
if (G_UNLIKELY (mime_str == NULL)) {
g_free (bytes);
diff --git a/src/eom-thumbnail.c b/src/eom-thumbnail.c
index 6a278b31..30a5760a 100644
--- a/src/eom-thumbnail.c
+++ b/src/eom-thumbnail.c
@@ -36,6 +36,7 @@
#include "eom-thumbnail.h"
#include "eom-list-store.h"
#include "eom-debug.h"
+#include "eom-util.h"
#define EOM_THUMB_ERROR eom_thumb_error_quark ()
@@ -161,6 +162,7 @@ eom_thumb_data_new (GFile *file, GError **error)
file_info = g_file_query_info (file,
G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE ","
G_FILE_ATTRIBUTE_TIME_MODIFIED ","
G_FILE_ATTRIBUTE_THUMBNAIL_PATH ","
G_FILE_ATTRIBUTE_THUMBNAILING_FAILED ","
@@ -176,7 +178,7 @@ eom_thumb_data_new (GFile *file, GError **error)
/* if available, copy data */
data->mtime = g_file_info_get_attribute_uint64 (file_info,
G_FILE_ATTRIBUTE_TIME_MODIFIED);
- data->mime_type = g_strdup (g_file_info_get_content_type (file_info));
+ data->mime_type = g_strdup (eom_util_get_content_type_with_fallback (file_info));
data->thumb_exists = (g_file_info_get_attribute_byte_string (file_info,
G_FILE_ATTRIBUTE_THUMBNAIL_PATH) != NULL);
diff --git a/src/eom-window.c b/src/eom-window.c
index c039d67c..3d572f9d 100644
--- a/src/eom-window.c
+++ b/src/eom-window.c
@@ -738,7 +738,8 @@ add_file_to_recent_files (GFile *file)
return FALSE;
file_info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
0, NULL, NULL);
if (file_info == NULL)
return FALSE;
@@ -746,7 +747,7 @@ add_file_to_recent_files (GFile *file)
recent_data = g_slice_new (GtkRecentData);
recent_data->display_name = NULL;
recent_data->description = NULL;
- recent_data->mime_type = (gchar *) g_file_info_get_content_type (file_info);
+ recent_data->mime_type = (gchar *) eom_util_get_content_type_with_fallback (file_info);
recent_data->app_name = EOM_RECENT_FILES_APP_NAME;
recent_data->app_exec = g_strjoin(" ", g_get_prgname (), "%u", NULL);
recent_data->groups = groups;
@@ -955,13 +956,14 @@ eom_window_update_openwith_menu (EomWindow *window, EomImage *image)
file = eom_image_get_file (image);
file_info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
+ G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE","
+ G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
0, NULL, NULL);
if (file_info == NULL)
return;
else {
- mime_type = g_file_info_get_content_type (file_info);
+ mime_type = eom_util_get_content_type_with_fallback (file_info);
}
if (priv->open_with_menu_id != 0) {

View file

@ -7,14 +7,12 @@ diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index c5f7cf3a..f0124235 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1251,11 +1251,11 @@ pref("accessibility.typeaheadfind.linksonly", false);
@@ -1368,9 +1368,9 @@ pref("accessibility.typeaheadfind.linksonly", false);
pref("accessibility.typeaheadfind.flashBar", 1);
// Whether we can show the "Firefox Labs" section.
-pref("browser.preferences.experimental", true);
+pref("browser.preferences.experimental", false);
// Whether we had to hide the "Firefox Labs" section because it would be empty.
pref("browser.preferences.experimental.hidden", false);
-pref("browser.preferences.experimental.hidden", false);
+pref("browser.preferences.experimental.hidden", true);
// Whether we show the "More from Mozilla" section.
-pref("browser.preferences.moreFromMozilla", true);
+pref("browser.preferences.moreFromMozilla", false);

View file

@ -1,33 +1,32 @@
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index 52a520fd..81cc685d 100644
index 217ed280..d91cde94 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1718,19 +1718,19 @@
pref("browser.topsites.component.enabled", false);
@@ -1806,16 +1806,16 @@ pref("browser.topsites.component.enabled", false);
pref("browser.topsites.useRemoteSetting", true);
// Fetch sponsored Top Sites from Mozilla Tiles Service (Contile)
-pref("browser.topsites.contile.enabled", true);
-pref("browser.topsites.contile.endpoint", "https://contile.services.mozilla.com/v1/tiles");
+pref("browser.topsites.contile.enabled", false);
+pref("browser.topsites.contile.endpoint", "");
// Whether to enable the Share-of-Voice feature for Sponsored Topsites via Contile.
-pref("browser.topsites.contile.sov.enabled", true);
+pref("browser.topsites.contile.sov.enabled", false);
// The base URL for the Quick Suggest anonymizing proxy. To make a request to
// the proxy, include a campaign ID in the path.
-pref("browser.partnerlink.attributionURL", "https://topsites.services.mozilla.com/cid/");
-pref("browser.partnerlink.campaign.topsites", "amzn_2020_a1");
+pref("browser.partnerlink.attributionURL", "");
+pref("browser.partnerlink.campaign.topsites", "");
// Activates preloading of the new tab url.
-pref("browser.newtab.preload", true);
+pref("browser.newtab.preload", false);
pref("browser.preonboarding.onTrainRolloutPopulation", 0);
// Do not enable the preonboarding experience on Linux
#ifdef XP_LINUX
@@ -1856,24 +1856,24 @@ pref("browser.newtabpage.activity-stream.mobileDownloadModal.variant-c", false);
pref("browser.newtabpage.activity-stream.discoverystream.refinedCardsLayout.enabled", true);
// Mozilla Ad Routing Service (MARS) unified ads service
-pref("browser.newtabpage.activity-stream.unifiedAds.tiles.enabled", true);
-pref("browser.newtabpage.activity-stream.unifiedAds.spocs.enabled", true);
@ -36,19 +35,23 @@ index 52a520fd..81cc685d 100644
+pref("browser.newtabpage.activity-stream.unifiedAds.spocs.enabled", false);
+pref("browser.newtabpage.activity-stream.unifiedAds.endpoint", "");
pref("browser.newtabpage.activity-stream.unifiedAds.adsFeed.enabled", false);
pref("browser.newtabpage.activity-stream.unifiedAds.adsFeed.tiles.enabled", false);
pref("browser.newtabpage.activity-stream.unifiedAds.ohttp.enabled", false);
// Weather widget for newtab
-pref("browser.newtabpage.activity-stream.showWeather", true);
+pref("browser.newtabpage.activity-stream.showWeather", false);
pref("browser.newtabpage.activity-stream.weather.query", "");
pref("browser.newtabpage.activity-stream.weather.display", "simple");
+pref("browser.newtabpage.activity-stream.images.smart", true);
pref("browser.newtabpage.activity-stream.images.smart", true);
// enable location search for newtab weather widget
-pref("browser.newtabpage.activity-stream.weather.locationSearchEnabled", true);
+pref("browser.newtabpage.activity-stream.weather.locationSearchEnabled", false);
// List of regions that get weather by default.
pref("browser.newtabpage.activity-stream.discoverystream.region-weather-config", "US,CA")
-pref("browser.newtabpage.activity-stream.discoverystream.region-weather-config", "US,CA");
+pref("browser.newtabpage.activity-stream.discoverystream.region-weather-config", "");
// List of locales that weather widget supports.
pref("browser.newtabpage.activity-stream.discoverystream.locale-weather-config", "en-US,en-GB,en-CA");

View file

@ -58,19 +58,20 @@ index a9e8501a..02328371 100644
# </hbox>
# </vbox>
# </groupbox>
diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml
index 205c0e01..029b9925 100644
--- a/browser/components/preferences/privacy.inc.xhtml
+++ b/browser/components/preferences/privacy.inc.xhtml
@@ -372,10 +372,7 @@
support-page="global-privacy-control" />
</hbox>
<hbox id="doNotTrackBox" flex="1" align="center" hidden="true">
- <html:a is="moz-support-link"
- id="doNotTrackRemoval"
- support-page="how-do-i-turn-do-not-track-feature"
- data-l10n-id="do-not-track-removal" />
+ <html:a class="learnMore" href="https://trisquel.info/en/wiki/abrowser-help" target="_blank"/>
</hbox>
</vbox>
</groupbox>
# dropped 144
#diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml
#index 205c0e01..029b9925 100644
#--- a/browser/components/preferences/privacy.inc.xhtml
#+++ b/browser/components/preferences/privacy.inc.xhtml
#@@ -372,10 +372,7 @@
# support-page="global-privacy-control" />
# </hbox>
# <hbox id="doNotTrackBox" flex="1" align="center" hidden="true">
#- <html:a is="moz-support-link"
#- id="doNotTrackRemoval"
#- support-page="how-do-i-turn-do-not-track-feature"
#- data-l10n-id="do-not-track-removal" />
#+ <html:a class="learnMore" href="https://trisquel.info/en/wiki/abrowser-help" target="_blank"/>
# </hbox>
# </vbox>
# </groupbox>

View file

@ -22,7 +22,7 @@ diff --git a/browser/extensions/newtab/lib/AboutPreferences.sys.mjs b/browser/ex
index 0d43919b..f2e0fbd0 100644
--- a/browser/extensions/newtab/lib/AboutPreferences.sys.mjs
+++ b/browser/extensions/newtab/lib/AboutPreferences.sys.mjs
@@ -120,37 +120,6 @@ const PREFS_FOR_SETTINGS = () => [
@@ -88,33 +88,6 @@ const PREFS_FOR_SETTINGS = () => [
),
eventSource: "TOP_STORIES",
},
@ -52,15 +52,11 @@ index 0d43919b..f2e0fbd0 100644
- },
- ],
- },
- shouldHidePref: !Services.prefs.getBoolPref(
- "browser.newtabpage.activity-stream.system.showSponsoredCheckboxes",
- false
- ),
- },
];
export class AboutPreferences {
@@ -351,41 +320,8 @@ export class AboutPreferences {
@@ -344,41 +317,9 @@ export class AboutPreferences {
}
});
@ -89,7 +85,7 @@ index 0d43919b..f2e0fbd0 100644
- setupSupportFirefoxSubCheck("feeds.section.topstories", "showSponsored");
- setupSupportFirefoxSubCheck("feeds.topsites", "showSponsoredTopSites");
- }
-
pref.on("change", () => {
subChecks.forEach(subcheck => {
- // Update child preferences for the "Support Firefox" checkbox group
@ -120,14 +116,13 @@ index 269eca10..4c35b53f 100644
# Variables:
# $num (number) - Number of rows displayed
diff --git a/browser/themes/shared/preferences/preferences.css b/browser/themes/shared/preferences/preferences.css
index 9c8155e5..4718341f 100644
index 701d29be..769791d7 100644
--- a/browser/themes/shared/preferences/preferences.css
+++ b/browser/themes/shared/preferences/preferences.css
@@ -1541,12 +1541,3 @@ richlistitem .text-link:hover {
.search-header:has(.section-heading) {
@@ -1478,15 +1478,6 @@ setting-group[groupid="home"] {
margin: 0;
}
-
-/* Styles for the "sponsors support our mission" message and link on the Home tab */
-.mission-message {
- margin-block-start: var(--space-large);
@ -136,3 +131,7 @@ index 9c8155e5..4718341f 100644
- font-size: var(--font-size-small);
- }
-}
-
#dohProviderSelect {
--select-max-width: 235px;
}

View file

@ -305,9 +305,12 @@ pref("dom.private-attribution.submission.enabled", false);
// Disable Machine Learning
pref("browser.ml.chat.enabled", false);
pref("browser.tabs.groups.smart.enabled", false);
// Hide from UI
pref("browser.ml.chat.hideFromLabs", true);
pref("browser.ml.chat.hideLabsShortcuts", true);
pref("browser.tabs.groups.smart.userEnabled", false);
// Disable tab hover preview
pref("browser.tabs.hoverPreview.enabled", false);

Binary file not shown.

After

Width:  |  Height:  |  Size: 728 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1,4 @@
[Desktop Entry]
Name=Ecne
X-KDE-PluginInfo-License=GPLv3+

View file

@ -1,17 +1,18 @@
--- a/debian/rules 2022-01-26 09:57:22.000000000 -0600
+++ b/debian/rules 2022-02-04 09:48:40.142753566 -0600
@@ -667,8 +667,8 @@
BULLSEYE_BACKPORT=y
ENABLE_LTO=n
endif
-
diff --git a/debian/rules b/debian/rules
index 06de6171..b930f423 100755
--- a/debian/rules
+++ b/debian/rules
@@ -824,7 +824,8 @@ endif
# for t64
BUILD_DEPS += , dpkg-dev (>= 1.22.5) [$(filter-out i386,$(OOO_32BIT_ARCHS))]
-ifeq "$(DEB_VENDOR)" "Ubuntu"
+ifeq ("$(DEB_VENDOR)",$(filter "$(DEB_VENDOR)","Ubuntu" "Trisquel"))
+ ifeq "$(DEB_VENDOR)" "Ubuntu"
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
# Note: these are for Ubuntu use ONLY. For your own distribution,
# please get your own set of keys.
@@ -679,7 +679,7 @@
@@ -835,7 +835,7 @@
GOOGLEAPI_CLIENTID_UBUNTU := 424119844901-gee57209rkbo1rgula4i0arilvgv3lsf.apps.googleusercontent.com
GOOGLEAPI_CLIENTSECRET_UBUNTU := 3h1DknIrVsq2wEhIuADVxQ3E
CONFIGURE_FLAGS += --with-gdrive-client-id=$(GOOGLEAPI_CLIENTID_UBUNTU) --with-gdrive-client-secret=$(GOOGLEAPI_CLIENTSECRET_UBUNTU)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,58 @@
reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22f6aa632d94ae2069f85e1bca5e734dce0@changeid/
--- b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+++ a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
@@ -130,9 +130,6 @@
for (i = 0; i < IWL_UCODE_TYPE_MAX; i++)
iwl_free_fw_img(drv, drv->fw.img + i);
-
- /* clear the data for the aborted load case */
- memset(&drv->fw, 0, sizeof(drv->fw));
}
static int iwl_alloc_fw_desc(struct iwl_drv *drv, struct fw_desc *desc,
@@ -1429,7 +1426,6 @@
int i;
bool load_module = false;
bool usniffer_images = false;
- bool failure = true;
fw->ucode_capa.max_probe_length = IWL_DEFAULT_MAX_PROBE_LENGTH;
fw->ucode_capa.standard_phy_calibration_size =
# this is change is related to patch "001" need review.
#@@ -1699,7 +1695,6 @@
# op->name, err);
# #endif
# }
#- failure = false;
# goto free;
#
# try_again:
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
index 81d06847..9d13e812 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
@@ -1717,7 +1717,6 @@ static void iwl_req_fw_callback(const struct firmware *ucode_raw, void *context)
complete(&drv->request_firmware_complete);
- failure = false;
goto free;
try_again:
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
index 81d06847..9d13e812 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
@@ -1715,9 +1710,6 @@
complete(&drv->request_firmware_complete);
device_release_driver(drv->trans->dev);
free:
- if (failure)
- iwl_dealloc_ucode(drv);
-
if (pieces) {
for (i = 0; i < ARRAY_SIZE(pieces->img); i++)
kfree(pieces->img[i].sec);

View file

@ -0,0 +1,13 @@
reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22f6aa632d94ae2069f85e1bca5e734dce0@changeid/
diff -ru source.orig/drivers/net/wireless/intel/iwlwifi/iwl-drv.c source/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
--- source.orig/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-05-13 16:10:11.883295769 -0400
+++ source/drivers/net/wireless/intel/iwlwifi/iwl-drv.c 2022-05-13 20:13:06.568151229 -0400
@@ -1605,7 +1605,6 @@
complete(&drv->request_firmware_complete);
device_release_driver(drv->trans->dev);
/* drv has just been freed by the release */
- failure = false;
free:
if (pieces) {
for (i = 0; i < ARRAY_SIZE(pieces->img); i++)

View file

@ -0,0 +1,227 @@
Based on https://libreplanet.org/wiki/Group:Hardware/research/gpu/radeon
diff -ru a/drivers/gpu/drm/radeon/btc_dpm.c b/drivers/gpu/drm/radeon/btc_dpm.c
--- a/drivers/gpu/drm/radeon/btc_dpm.c 2021-10-31 16:53:10.000000000 -0400
+++ b/drivers/gpu/drm/radeon/btc_dpm.c 2023-02-13 15:50:41.218608376 -0500
@@ -2437,7 +2437,6 @@
ret = rv770_upload_firmware(rdev);
if (ret) {
DRM_ERROR("rv770_upload_firmware failed\n");
- return ret;
}
ret = cypress_get_table_locations(rdev);
if (ret) {
diff -ru a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c
--- a/drivers/gpu/drm/radeon/ci_dpm.c 2021-10-31 16:53:10.000000000 -0400
+++ b/drivers/gpu/drm/radeon/ci_dpm.c 2023-02-13 15:53:38.591724496 -0500
@@ -5157,7 +5157,6 @@
ret = ci_upload_firmware(rdev);
if (ret) {
DRM_ERROR("ci_upload_firmware failed\n");
- return ret;
}
ret = ci_process_firmware_header(rdev);
if (ret) {
diff -ru a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
--- a/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:21:35.174999782 -0500
+++ b/drivers/gpu/drm/radeon/cik.c 2023-02-13 15:47:37.149601121 -0500
@@ -8285,7 +8285,6 @@
r = ci_mc_load_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load MC firmware!\n");
- return r;
}
}
@@ -8591,7 +8590,6 @@
r = cik_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
} else {
@@ -8601,7 +8599,6 @@
r = cik_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
}
@@ -8668,7 +8665,6 @@
*/
if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) {
DRM_ERROR("radeon: MC ucode required for NI+.\n");
- return -EINVAL;
}
return 0;
diff -ru a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress_dpm.c
--- a/drivers/gpu/drm/radeon/cypress_dpm.c 2021-10-31 16:53:10.000000000 -0400
+++ b/drivers/gpu/drm/radeon/cypress_dpm.c 2023-02-13 15:50:25.130869935 -0500
@@ -1862,7 +1862,6 @@
ret = rv770_upload_firmware(rdev);
if (ret) {
DRM_ERROR("rv770_upload_firmware failed\n");
- return ret;
}
ret = cypress_get_table_locations(rdev);
diff -ru a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c
--- a/drivers/gpu/drm/radeon/evergreen.c 2021-10-31 16:53:10.000000000 -0400
+++ b/drivers/gpu/drm/radeon/evergreen.c 2023-02-13 15:47:50.457384749 -0500
@@ -5018,7 +5018,6 @@
r = ni_mc_load_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load MC firmware!\n");
- return r;
}
}
@@ -5235,7 +5234,6 @@
r = ni_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
} else {
@@ -5243,7 +5241,6 @@
r = r600_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
}
@@ -5289,7 +5286,6 @@
if (ASIC_IS_DCE5(rdev)) {
if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) {
DRM_ERROR("radeon: MC ucode required for NI+.\n");
- return -EINVAL;
}
}
diff -ru a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
--- a/drivers/gpu/drm/radeon/ni.c 2021-10-31 16:53:10.000000000 -0400
+++ b/drivers/gpu/drm/radeon/ni.c 2023-02-13 15:46:45.402442454 -0500
@@ -2163,7 +2163,6 @@
r = ni_mc_load_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load MC firmware!\n");
- return r;
}
}
@@ -2390,7 +2389,6 @@
r = ni_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
} else {
@@ -2398,7 +2396,6 @@
r = ni_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
}
@@ -2453,7 +2450,6 @@
*/
if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) {
DRM_ERROR("radeon: MC ucode required for NI+.\n");
- return -EINVAL;
}
return 0;
diff -ru a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
--- a/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:21:35.174999782 -0500
+++ b/drivers/gpu/drm/radeon/r100.c 2023-02-13 15:49:15.548001277 -0500
@@ -1134,7 +1134,6 @@
r = r100_cp_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
diff -ru a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
--- a/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:21:35.174999782 -0500
+++ b/drivers/gpu/drm/radeon/r600.c 2023-02-13 15:46:07.291062125 -0500
@@ -3299,7 +3299,6 @@
r = r600_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
diff -ru a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c
--- a/drivers/gpu/drm/radeon/rv770.c 2021-10-31 16:53:10.000000000 -0400
+++ b/drivers/gpu/drm/radeon/rv770.c 2023-02-13 15:26:54.385808292 -0500
@@ -1966,7 +1966,6 @@
r = r600_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
diff -ru a/drivers/gpu/drm/radeon/rv770_dpm.c b/drivers/gpu/drm/radeon/rv770_dpm.c
--- a/drivers/gpu/drm/radeon/rv770_dpm.c 2021-10-31 16:53:10.000000000 -0400
+++ b/drivers/gpu/drm/radeon/rv770_dpm.c 2023-02-13 15:50:13.591057564 -0500
@@ -1948,12 +1948,10 @@
ret = rv770_upload_firmware(rdev);
if (ret) {
DRM_ERROR("rv770_upload_firmware failed\n");
- return ret;
}
ret = rv770_init_smc_table(rdev, boot_ps);
if (ret) {
DRM_ERROR("rv770_init_smc_table failed\n");
- return ret;
}
rv770_program_response_times(rdev);
diff -ru a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
--- a/drivers/gpu/drm/radeon/si.c 2023-02-13 15:21:35.178999717 -0500
+++ b/drivers/gpu/drm/radeon/si.c 2023-02-13 15:47:00.042204445 -0500
@@ -6619,7 +6619,6 @@
r = si_mc_load_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load MC firmware!\n");
- return r;
}
}
@@ -6867,7 +6866,6 @@
r = si_init_microcode(rdev);
if (r) {
DRM_ERROR("Failed to load firmware!\n");
- return r;
}
}
@@ -6926,7 +6924,6 @@
*/
if (!rdev->mc_fw) {
DRM_ERROR("radeon: MC ucode required for NI+.\n");
- return -EINVAL;
}
return 0;
diff -ru a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c
--- a/drivers/gpu/drm/radeon/si_dpm.c 2021-10-31 16:53:10.000000000 -0400
+++ b/drivers/gpu/drm/radeon/si_dpm.c 2023-02-13 15:53:00.844338238 -0500
@@ -6366,7 +6366,6 @@
ret = si_upload_firmware(rdev);
if (ret) {
DRM_ERROR("si_upload_firmware failed\n");
- return ret;
}
ret = si_process_firmware_header(rdev);
if (ret) {

View file

@ -0,0 +1,30 @@
Removal of references to external repositories we can't manage what kind of firmware is pointed to.
The only firmware we can confirm to work with is the one contained on the packge source code.
Update: Linux-libre has debblobed the external URL, we remove the whole thing.
diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c
index 447b51cf..898b83af 100644
--- a/drivers/net/wireless/atmel/at76c50x-usb.c
+++ b/drivers/net/wireless/atmel/at76c50x-usb.c
@@ -1619,8 +1619,6 @@ static struct fwentry *at76_load_firmware(struct usb_device *udev,
if (ret < 0) {
dev_err(&udev->dev, "firmware %s not found!\n",
fwe->fwname);
- dev_err(&udev->dev,
- "you may need to download the firmware from http://developer.berlios.de/projects/at76c503a/\n");
goto exit;
}
diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
index f3b50528..1860f2b7 100644
--- a/sound/soc/sof/topology.c
+++ b/sound/soc/sof/topology.c
@@ -2445,8 +2445,6 @@ int snd_sof_load_topology(struct snd_soc_component *scomp, const char *file)
if (ret < 0) {
dev_err(scomp->dev, "error: tplg request firmware %s failed err: %d\n",
file, ret);
- dev_err(scomp->dev,
- "you may need to download the firmware from /*(DEBLOBBED)*/\n");
return ret;
}

View file

@ -0,0 +1,7 @@
#!/bin/bash
files=`find -type f`
while read -r line
do
./deblob-check $line
done <<< "$files"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,21 @@
reverts https://lore.kernel.org/all/iwlwifi.20211210110539.1f742f0eb58a.I1315f22f6aa632d94ae2069f85e1bca5e734dce0@changeid/
--- b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+++ a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
@@ -1597,8 +1597,15 @@
* else from proceeding if the module fails to load
* or hangs loading.
*/
+ if (load_module) {
- if (load_module)
request_module("%s", op->name);
+#ifdef CONFIG_IWLWIFI_OPMODE_MODULAR
+ if (err)
+ IWL_ERR(drv,
+ "failed to load module %s (error %d), is dynamic loading enabled?\n",
+ op->name, err);
+#endif
+ }
failure = false;
goto free;

View file

@ -0,0 +1,67 @@
diff --git a/debian/rules b/debian/rules
index a625a4c5..35f2aa25 100755
--- a/debian/rules
+++ b/debian/rules
@@ -176,6 +176,9 @@ debian/control: debian/canonical-revoked-certs.pem $(DEBIAN)/changelog FORCE
-e 's|\(^Maintainer:.*\)|\1\nXSC-Ubuntu-Compatible-Signing: $(UBUNTU_COMPATIBLE_SIGNING)|g' \
-e 's/\(^Build-Depends:$$\)/\1\n$(GCC_BUILD_DEPENDS)/g' \
$@
+ KW_DEFCONFIG_DIR=$(DEBIAN)/d-i KW_CONFIG_DIR=$(DEBIAN)/d-i \
+ LANG=C kernel-wedge gen-control $(DEB_VERSION_UPSTREAM)-$(abinum) | \
+ grep-dctrl -FArchitecture $(arch) >> $@
debian/canonical-certs.pem: $(wildcard debian/certs/*.pem $(DEBIAN)/certs/*.pem)
for cert in $(sort $(notdir $^)); \
diff --git a/debian/rules b/debian/rules_
index a625a4c5..1d9b5834 100755
--- a/debian/rules
+++ b/debian/rules_
@@ -129,10 +129,10 @@ do_any_tools=$(sort $(filter-out false,$(do_linux_tools) $(do_cloud_tools)))
# Debian Build System targets
.PHONY: binary
-binary: binary-indep binary-arch
+binary: debian/control binary-indep binary-arch
.PHONY: build
-build: build-arch build-indep
+build: debian/control build-arch build-indep
.PHONY: clean
clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs.pem
@@ -140,6 +140,11 @@ clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs.
dh_testroot
dh_clean
+ # d-i stuff
+ rm -rf $(DEBIAN)/d-i-$(arch)
+ # Generated on the fly.
+ rm -f $(DEBIAN)/d-i/firmware/$(arch)/kernel-image
+
# normal build junk
rm -rf $(DEBIAN)/abi
rm -rf $(builddir) $(stampdir)
diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
index 41985338..3943d0da 100644
--- a/debian/rules.d/2-binary-arch.mk
+++ b/debian/rules.d/2-binary-arch.mk
@@ -181,10 +181,14 @@ endif
install -m600 $(build_dir)/System.map \
$(pkgdir)/boot/System.map-$(abi_release)-$*
-ifeq ($(do_dtbs),true)
- $(kmake) O=$(build_dir) $(conc_level) dtbs_install \
- INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree
-endif
+ if [ "$(filter true,$(do_dtbs))" ]; then \
+ $(kmake) O=$(build_dir) $(conc_level) dtbs_install \
+ INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \
+ ( cd $(pkgdir)/lib/firmware/$(abi_release)-$*/ && find device-tree -print ) | \
+ while read dtb_file; do \
+ echo "$$dtb_file ?" >> $(DEBIAN)/d-i/firmware/$(arch)/kernel-image; \
+ done; \
+ fi
ifeq ($(no_dumpfile),)
makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \

View file

@ -0,0 +1,20 @@
Debian doesn't use zstd compression for kernel modules by default, and
kernel-wedge does not currently support this compression. It is recommended
to continue using XZ compression to maintain compatibility with udeb
packages in Trisquel, at least while this changes.
diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk
index d832106b..4afdd290 100644
--- a/debian/rules.d/0-common-vars.mk
+++ b/debian/rules.d/0-common-vars.mk
@@ -154,6 +154,10 @@ do_zstd_ko=true
ifeq ($(series),jammy)
do_zstd_ko=
endif
+# Trisquel use udebs, so it disable zstd by default.
+ifeq (yes,$(shell dpkg-vendor --is Trisquel && echo yes))
+do_zstd_ko=
+endif
# Support parallel=<n> in DEB_BUILD_OPTIONS (see #209008)
#

View file

@ -0,0 +1,79 @@
# Do udebs if not disabled in the arch-specific makefile
binary-udebs: binary-debs
@echo Debug: $@
ifeq ($(disable_d_i),)
@$(MAKE) --no-print-directory -f debian/rules DEBIAN=$(DEBIAN) \
do-binary-udebs
endif
do-binary-udebs: linux_udeb_name=$(shell if echo $(src_pkg_name)|egrep -q '(linux-lts|linux-hwe|linux-[0-9]+\.[0-9]+)'; then echo $(src_pkg_name); else echo linux; fi)
do-binary-udebs: debian/control
@echo Debug: $@
dh_testdir
dh_testroot
# unpack the kernels into a temporary directory
mkdir -p debian/d-i-${arch}
imagelist=$$(cat $(CURDIR)/$(DEBIAN)/d-i/kernel-versions | grep ^${arch} | gawk '{print $$3}') && \
for f in $$imagelist; do \
i=$(release)-$(abinum)-$$f; \
for f in \
../linux-image-$$i\_$(release)-$(revision)_${arch}.deb \
../linux-image-unsigned-$$i\_$(release)-$(revision)_${arch}.deb \
../linux-modules-$$i\_$(release)-$(revision)_${arch}.deb \
../linux-modules-extra-$$i\_$(release)-$(revision)_${arch}.deb; \
do \
[ -f $$f ] && dpkg -x $$f debian/d-i-${arch}; \
done; \
/sbin/depmod -b debian/d-i-${arch} $$i; \
done
# kernel-wedge will error if no modules unless this is touched
touch $(DEBIAN)/d-i/no-modules
touch $(CURDIR)/$(DEBIAN)/d-i/ignore-dups
export KW_DEFCONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \
export KW_CONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \
export SOURCEDIR=$(CURDIR)/debian/d-i-${arch} && \
kernel-wedge install-files $(release)-$(abinum) && \
kernel-wedge check
# Build just the udebs
dilist=$$(dh_listpackages -s | grep "\-di$$") && \
[ -z "$dilist" ] || \
for i in $$dilist; do \
dh_fixperms -p$$i; \
$(lockme) dh_gencontrol -p$$i; \
dh_builddeb -p$$i; \
done
# Generate the meta-udeb dependancy lists.
@gawk ' \
/^Package:/ { \
package=$$2; flavour=""; parch="" } \
(/Package-Type: udeb/ && package !~ /^$(linux_udeb_name)-udebs-/) { \
match(package, "'$(release)'-'$(abinum)'-(.*)-di", bits); \
flavour = bits[1]; \
} \
(/^Architecture:/ && $$0 " " ~ / '$(arch)'/) { \
parch=$$0; \
} \
(flavour != "" && parch != "") { \
udebs[flavour] = udebs[flavour] package ", "; \
flavour=""; parch=""; \
} \
END { \
for (flavour in udebs) { \
package="$(linux_udeb_name)-udebs-" flavour; \
file="debian/" package ".substvars"; \
print("udeb:Depends=" udebs[flavour]) > file; \
metas="'$(builddir)'/udeb-meta-packages"; \
print(package) >metas \
} \
} \
' <$(CURDIR)/debian/control
@while read i; do \
$(lockme) dh_gencontrol -p$$i; \
dh_builddeb -p$$i; \
done <$(builddir)/udeb-meta-packages

View file

@ -0,0 +1,4 @@
#
# Place the names of udeb modules into this directory that require
# runtime firmware.
#

View file

@ -0,0 +1,4 @@
#
# Place the names of udeb modules into this directory that require
# runtime firmware.
#

View file

@ -0,0 +1 @@
#include <nic-modules>

View file

@ -0,0 +1 @@
#include <scsi-modules>

View file

@ -0,0 +1,4 @@
#
# Place the names of udeb modules into this directory that require
# runtime firmware.
#

View file

@ -0,0 +1 @@
#include <nic-modules>

View file

@ -0,0 +1 @@
#include <scsi-modules>

View file

@ -0,0 +1,4 @@
#
# Place the names of udeb modules into this directory that require
# runtime firmware.
#

View file

@ -0,0 +1,4 @@
#
# Place the names of udeb modules into this directory that require
# runtime firmware.
#

View file

@ -0,0 +1 @@
#include <nic-modules>

View file

@ -0,0 +1 @@
#include <scsi-modules>

View file

@ -0,0 +1 @@

View file

@ -0,0 +1,4 @@
#
# Place the names of udeb modules into this directory that require
# runtime firmware.
#

View file

@ -0,0 +1 @@
#include <nic-modules>

View file

@ -0,0 +1 @@
#include <scsi-modules>

View file

@ -0,0 +1,4 @@
#
# Place the names of udeb modules into this directory that require
# runtime firmware.
#

View file

@ -0,0 +1 @@
#include <nic-modules>

View file

@ -0,0 +1 @@
#include <scsi-modules>

View file

@ -0,0 +1,4 @@
#
# Place the names of udeb modules into this directory that require
# runtime firmware.
#

View file

@ -0,0 +1 @@
#include <nic-modules>

View file

@ -0,0 +1 @@
#include <scsi-modules>

View file

@ -0,0 +1 @@

View file

@ -0,0 +1,16 @@
# arch version flavour installedname suffix bdep
amd64 - generic - - -
i386 - generic - - -
armhf - generic - - -
#armhf - generic-lpae - - -
arm64 - generic - - -
ppc64el - generic - - -
s390x - generic - - -
# Ports
# arch version flavour installedname suffix bdep

View file

@ -0,0 +1 @@
#include <block-modules>

View file

@ -0,0 +1 @@
#include <crc-modules>

View file

@ -0,0 +1 @@
#include <crypto-modules>

View file

@ -0,0 +1 @@
#include <fat-modules>

View file

@ -0,0 +1 @@
#include <fb-modules>

View file

@ -0,0 +1 @@
#include <floppy-modules>

View file

@ -0,0 +1 @@
#include <fs-core-modules>

View file

@ -0,0 +1 @@
#include <fs-secondary-modules>

View file

@ -0,0 +1 @@
#include <isofs-modules>

View file

@ -0,0 +1 @@
#include <kernel-image>

View file

@ -0,0 +1 @@
#include <md-modules>

View file

@ -0,0 +1 @@
#include <message-modules>

View file

@ -0,0 +1 @@
#include <mouse-modules>

View file

@ -0,0 +1 @@
#include <multipath-modules>

View file

@ -0,0 +1 @@
#include <nic-modules>

View file

@ -0,0 +1 @@
#include <nic-shared-modules>

View file

@ -0,0 +1 @@
#include <nic-wireless-modules>

View file

@ -0,0 +1 @@
#include <parport-modules>

View file

@ -0,0 +1,4 @@
#include <scsi-core-modules>
# Needed by hv_storvsc in hyperv-modules as well as scsi-modules
scsi_transport_fc

View file

@ -0,0 +1,2 @@
#include <scsi-modules>
ipr ?

View file

@ -0,0 +1 @@
#include <serial-modules>

View file

@ -0,0 +1 @@
#include <storage-core-modules>

View file

@ -0,0 +1 @@
#include <usb-storage-modules>

View file

@ -0,0 +1 @@
#include <virtio-modules>

View file

@ -0,0 +1 @@
#include <vlan-modules>

View file

@ -0,0 +1 @@
#include <block-modules>

View file

@ -0,0 +1 @@
#include <crc-modules>

View file

@ -0,0 +1 @@
#include <crypto-modules>

View file

@ -0,0 +1 @@
#include <fat-modules>

View file

@ -0,0 +1,5 @@
#include <fb-modules>
vesafb ?
vga16fb

View file

@ -0,0 +1 @@
#include <firewire-core-modules>

View file

@ -0,0 +1 @@
#include <floppy-modules>

View file

@ -0,0 +1 @@
#include <fs-core-modules>

View file

@ -0,0 +1 @@
#include <fs-secondary-modules>

View file

@ -0,0 +1 @@
#include <i2c-modules>

View file

@ -0,0 +1 @@
#include <input-modules>

View file

@ -0,0 +1 @@
#include <ipmi-modules>

View file

@ -0,0 +1 @@
#include <isofs-modules>

View file

@ -0,0 +1 @@
#include <kernel-image>

View file

@ -0,0 +1 @@
#include <md-modules>

View file

@ -0,0 +1 @@
#include <message-modules>

View file

@ -0,0 +1 @@
#include <mouse-modules>

View file

@ -0,0 +1 @@
#include <mtd-core-modules>

View file

@ -0,0 +1 @@
#include <multipath-modules>

View file

@ -0,0 +1 @@
#include <nfs-modules>

View file

@ -0,0 +1 @@
#include <nic-modules>

View file

@ -0,0 +1 @@
#include <nic-pcmcia-modules>

View file

@ -0,0 +1 @@
#include <nic-shared-modules>

Some files were not shown because too many files have changed in this diff Show more