diff options
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r-- | gnu/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch | 140 | ||||
-rw-r--r-- | gnu/packages/patches/gnome-control-center-udisks.patch | 221 | ||||
-rw-r--r-- | gnu/packages/patches/guile-finalization-crash.patch | 61 | ||||
-rw-r--r-- | gnu/packages/patches/mes-remove-store-name.patch | 121 | ||||
-rw-r--r-- | gnu/packages/patches/ncompress-fix-softlinks.patch | 24 | ||||
-rw-r--r-- | gnu/packages/patches/nss-CVE-2019-11745.patch | 24 | ||||
-rw-r--r-- | gnu/packages/patches/python-pyatspi-python-37.patch | 82 | ||||
-rw-r--r-- | gnu/packages/patches/ruby-safe-yaml-add-require-time.patch | 19 | ||||
-rw-r--r-- | gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch | 45 | ||||
-rw-r--r-- | gnu/packages/patches/totem-meson-compat.patch | 14 | ||||
-rw-r--r-- | gnu/packages/patches/totem-meson-easy-codec.patch | 65 | ||||
-rw-r--r-- | gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch | 103 |
12 files changed, 333 insertions, 586 deletions
diff --git a/gnu/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch b/gnu/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch deleted file mode 100644 index d05b4351b3..0000000000 --- a/gnu/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch +++ /dev/null @@ -1,140 +0,0 @@ -This patch was taken from Nixpkgs. - -From 616381bc25b0e90198683fb049f994e82d467d96 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me> -Date: Sat, 13 May 2017 02:45:49 +0200 -Subject: [PATCH] Don't use hardcoded /sbin, /usr/bin etc. paths. Fixes - #1450546. - -Instead, rely on programs to be in PATH, as gluster already -does in many places across its code base. - -Change-Id: Id21152fe42f5b67205d8f1571b0656c4d5f74246 ---- - contrib/fuse-lib/mount-common.c | 8 ++++---- - xlators/mgmt/glusterd/src/glusterd-ganesha.c | 6 +++--- - xlators/mgmt/glusterd/src/glusterd-quota.c | 6 +++--- - xlators/mgmt/glusterd/src/glusterd-snapshot.c | 4 ++-- - xlators/mgmt/glusterd/src/glusterd-utils.c | 14 +------------- - 5 files changed, 13 insertions(+), 25 deletions(-) - -diff --git a/contrib/fuse-lib/mount-common.c b/contrib/fuse-lib/mount-common.c -index e9f80fe81..6380dd867 100644 ---- a/contrib/fuse-lib/mount-common.c -+++ b/contrib/fuse-lib/mount-common.c -@@ -255,16 +255,16 @@ fuse_mnt_umount (const char *progname, const char *abs_mnt, - exit (1); - } - #ifdef GF_LINUX_HOST_OS -- execl ("/bin/umount", "/bin/umount", "-i", rel_mnt, -+ execl ("umount", "umount", "-i", rel_mnt, - lazy ? "-l" : NULL, NULL); -- GFFUSE_LOGERR ("%s: failed to execute /bin/umount: %s", -+ GFFUSE_LOGERR ("%s: failed to execute umount: %s", - progname, strerror (errno)); - #elif __NetBSD__ - /* exitting the filesystem causes the umount */ - exit (0); - #else -- execl ("/sbin/umount", "/sbin/umount", "-f", rel_mnt, NULL); -- GFFUSE_LOGERR ("%s: failed to execute /sbin/umount: %s", -+ execl ("umount", "umount", "-f", rel_mnt, NULL); -+ GFFUSE_LOGERR ("%s: failed to execute umount: %s", - progname, strerror (errno)); - #endif /* GF_LINUX_HOST_OS */ - exit (1); -diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c -index 0e6629cf0..fcb4738b7 100644 ---- a/xlators/mgmt/glusterd/src/glusterd-quota.c -+++ b/xlators/mgmt/glusterd/src/glusterd-quota.c -@@ -30,7 +30,7 @@ - - #ifndef _PATH_SETFATTR - # ifdef GF_LINUX_HOST_OS --# define _PATH_SETFATTR "/usr/bin/setfattr" -+# define _PATH_SETFATTR "setfattr" - # endif - # ifdef __NetBSD__ - # define _PATH_SETFATTR "/usr/pkg/bin/setfattr" -@@ -335,7 +335,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv, - - if (type == GF_QUOTA_OPTION_TYPE_ENABLE || - type == GF_QUOTA_OPTION_TYPE_ENABLE_OBJECTS) -- runner_add_args (&runner, "/usr/bin/find", ".", NULL); -+ runner_add_args (&runner, "find", ".", NULL); - - else if (type == GF_QUOTA_OPTION_TYPE_DISABLE) { - -@@ -351,7 +351,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv, - VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "1", - "{}", "\\", ";", NULL); - #else -- runner_add_args (&runner, "/usr/bin/find", ".", -+ runner_add_args (&runner, "find", ".", - "-exec", _PATH_SETFATTR, "-n", - VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "-v", - "1", "{}", "\\", ";", NULL); -diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot.c b/xlators/mgmt/glusterd/src/glusterd-snapshot.c -index da0152366..f0d135350 100644 ---- a/xlators/mgmt/glusterd/src/glusterd-snapshot.c -+++ b/xlators/mgmt/glusterd/src/glusterd-snapshot.c -@@ -121,7 +121,7 @@ glusterd_build_snap_device_path (char *device, char *snapname, - } - - runinit (&runner); -- runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "vg_name", -+ runner_add_args (&runner, "lvs", "--noheadings", "-o", "vg_name", - device, NULL); - runner_redir (&runner, STDOUT_FILENO, RUN_PIPE); - snprintf (msg, sizeof (msg), "Get volume group for device %s", device); -@@ -1982,7 +1982,7 @@ glusterd_is_thinp_brick (char *device, uint32_t *op_errno) - - runinit (&runner); - -- runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "pool_lv", -+ runner_add_args (&runner, "lvs", "--noheadings", "-o", "pool_lv", - device, NULL); - runner_redir (&runner, STDOUT_FILENO, RUN_PIPE); - runner_log (&runner, this->name, GF_LOG_DEBUG, msg); -diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c -index 51db13df0..6fa7b92f9 100644 ---- a/xlators/mgmt/glusterd/src/glusterd-utils.c -+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c -@@ -6027,7 +6027,6 @@ static struct fs_info { - char *fs_tool_pattern; - char *fs_tool_pkg; - } glusterd_fs[] = { -- /* some linux have these in /usr/sbin/and others in /sbin/? */ - { "xfs", "xfs_info", NULL, "isize=", "xfsprogs" }, - { "ext3", "tune2fs", "-l", "Inode size:", "e2fsprogs" }, - { "ext4", "tune2fs", "-l", "Inode size:", "e2fsprogs" }, -@@ -6048,7 +6047,6 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count) - char *trail = NULL; - runner_t runner = {0, }; - struct fs_info *fs = NULL; -- char fs_tool_name[256] = {0, }; - static dict_t *cached_fs = NULL; - - memset (key, 0, sizeof (key)); -@@ -6085,17 +6083,7 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count) - cur_word = "N/A"; - goto cached; - } -- -- snprintf (fs_tool_name, sizeof (fs_tool_name), -- "/usr/sbin/%s", fs->fs_tool_name); -- if (sys_access (fs_tool_name, R_OK|X_OK) == 0) -- runner_add_arg (&runner, fs_tool_name); -- else { -- snprintf (fs_tool_name, sizeof (fs_tool_name), -- "/sbin/%s", fs->fs_tool_name); -- if (sys_access (fs_tool_name, R_OK|X_OK) == 0) -- runner_add_arg (&runner, fs_tool_name); -- } -+ runner_add_arg (&runner, fs->fs_tool_name); - break; - } - } --- -2.12.0 - diff --git a/gnu/packages/patches/gnome-control-center-udisks.patch b/gnu/packages/patches/gnome-control-center-udisks.patch deleted file mode 100644 index 823684b2e9..0000000000 --- a/gnu/packages/patches/gnome-control-center-udisks.patch +++ /dev/null @@ -1,221 +0,0 @@ -This patch is derived from upstream commit 2520aea6 and fixes upstream issues -285 and 302. See https://gitlab.gnome.org/GNOME/gcr/merge_requests/387, -https://gitlab.gnome.org/GNOME/gnome-control-center/issues/285 and -https://gitlab.gnome.org/GNOME/gnome-control-center/issues/302. - -diff --git a/panels/info/cc-info-overview-panel.c b/panels/info/cc-info-overview-panel.c -index e2276a295b3fd9de01b30fc3369069b5d33ba5b7..ff47c1fef2493bcc7ab34f9e8716d570d8d370ed 100644 ---- a/panels/info/cc-info-overview-panel.c -+++ b/panels/info/cc-info-overview-panel.c -@@ -36,6 +36,7 @@ - #include <glibtop/mountlist.h> - #include <glibtop/mem.h> - #include <glibtop/sysinfo.h> -+#include <udisks/udisks.h> - - #include <gdk/gdk.h> - -@@ -81,9 +82,7 @@ typedef struct - - GCancellable *cancellable; - -- /* Free space */ -- GList *primary_mounts; -- guint64 total_bytes; -+ UDisksClient *client; - - GraphicsData *graphics_data; - } CcInfoOverviewPanelPrivate; -@@ -96,8 +95,6 @@ struct _CcInfoOverviewPanel - CcInfoOverviewPanelPrivate *priv; - }; - --static void get_primary_disc_info_start (CcInfoOverviewPanel *self); -- - typedef struct - { - char *major; -@@ -486,111 +483,51 @@ get_os_type (void) - } - - static void --query_done (GFile *file, -- GAsyncResult *res, -- CcInfoOverviewPanel *self) -+get_primary_disc_info (CcInfoOverviewPanel *self) - { - CcInfoOverviewPanelPrivate *priv; -- g_autoptr(GFileInfo) info = NULL; -- g_autoptr(GError) error = NULL; -- -- info = g_file_query_filesystem_info_finish (file, res, &error); -- if (info != NULL) -- { -- priv = cc_info_overview_panel_get_instance_private (self); -- priv->total_bytes += g_file_info_get_attribute_uint64 (info, G_FILE_ATTRIBUTE_FILESYSTEM_SIZE); -- } -- else -- { -- if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) -- return; -- else -- { -- g_autofree char *path = NULL; -- path = g_file_get_path (file); -- g_warning ("Failed to get filesystem free space for '%s': %s", path, error->message); -- } -- } -+ GDBusObjectManager *manager; -+ g_autolist(GDBusObject) objects = NULL; -+ GList *l; -+ guint64 total_size; - -- /* And onto the next element */ -- get_primary_disc_info_start (self); --} -- --static void --get_primary_disc_info_start (CcInfoOverviewPanel *self) --{ -- GUnixMountEntry *mount; -- g_autoptr(GFile) file = NULL; -- CcInfoOverviewPanelPrivate *priv = cc_info_overview_panel_get_instance_private (self); -+ priv = cc_info_overview_panel_get_instance_private (self); -+ total_size = 0; - -- if (priv->primary_mounts == NULL) -+ if (!priv->client) - { -- g_autofree char *size = NULL; -- -- size = g_format_size (priv->total_bytes); -- gtk_label_set_text (GTK_LABEL (priv->disk_label), size); -- -+ gtk_label_set_text (GTK_LABEL (priv->disk_label), _("Unknown")); - return; - } - -- mount = priv->primary_mounts->data; -- priv->primary_mounts = g_list_remove (priv->primary_mounts, mount); -- file = g_file_new_for_path (g_unix_mount_get_mount_path (mount)); -- g_unix_mount_free (mount); -- -- g_file_query_filesystem_info_async (file, -- G_FILE_ATTRIBUTE_FILESYSTEM_SIZE, -- 0, -- priv->cancellable, -- (GAsyncReadyCallback) query_done, -- self); --} -- --static void --get_primary_disc_info (CcInfoOverviewPanel *self) --{ -- GList *points; -- GList *p; -- GHashTable *hash; -- CcInfoOverviewPanelPrivate *priv = cc_info_overview_panel_get_instance_private (self); -- -- hash = g_hash_table_new (g_str_hash, g_str_equal); -- points = g_unix_mount_points_get (NULL); -- -- /* If we do not have /etc/fstab around, try /etc/mtab */ -- if (points == NULL) -- points = g_unix_mounts_get (NULL); -+ manager = udisks_client_get_object_manager (priv->client); -+ objects = g_dbus_object_manager_get_objects (manager); - -- for (p = points; p != NULL; p = p->next) -+ for (l = objects; l != NULL; l = l->next) - { -- GUnixMountEntry *mount = p->data; -- const char *mount_path; -- const char *device_path; -- -- mount_path = g_unix_mount_get_mount_path (mount); -- device_path = g_unix_mount_get_device_path (mount); -- -- /* Do not count multiple mounts with same device_path, because it is -- * probably something like btrfs subvolume. Use only the first one in -- * order to count the real size. */ -- if (gsd_should_ignore_unix_mount (mount) || -- gsd_is_removable_mount (mount) || -- g_str_has_prefix (mount_path, "/media/") || -- g_str_has_prefix (mount_path, g_get_home_dir ()) || -- g_hash_table_lookup (hash, device_path) != NULL) -+ UDisksDrive *drive; -+ drive = udisks_object_peek_drive (UDISKS_OBJECT (l->data)); -+ -+ /* Skip removable devices */ -+ if (drive == NULL || -+ udisks_drive_get_removable (drive) || -+ udisks_drive_get_ejectable (drive)) - { -- g_unix_mount_free (mount); - continue; - } - -- priv->primary_mounts = g_list_prepend (priv->primary_mounts, mount); -- g_hash_table_insert (hash, (gpointer) device_path, (gpointer) device_path); -+ total_size += udisks_drive_get_size (drive); - } -- g_list_free (points); -- g_hash_table_destroy (hash); - -- priv->cancellable = g_cancellable_new (); -- get_primary_disc_info_start (self); -+ if (total_size > 0) -+ { -+ g_autofree gchar *size = g_format_size (total_size); -+ gtk_label_set_text (GTK_LABEL (priv->disk_label), size); -+ } -+ else -+ { -+ gtk_label_set_text (GTK_LABEL (priv->disk_label), _("Unknown")); -+ } - } - - static char * -@@ -852,8 +789,7 @@ cc_info_overview_panel_finalize (GObject *object) - g_clear_object (&priv->cancellable); - } - -- if (priv->primary_mounts) -- g_list_free_full (priv->primary_mounts, (GDestroyNotify) g_unix_mount_free); -+ g_clear_object (&priv->client); - - g_free (priv->gnome_version); - g_free (priv->gnome_date); -@@ -895,6 +831,7 @@ static void - cc_info_overview_panel_init (CcInfoOverviewPanel *self) - { - CcInfoOverviewPanelPrivate *priv = cc_info_overview_panel_get_instance_private (self); -+ g_autoptr(GError) error = NULL; - - gtk_widget_init_template (GTK_WIDGET (self)); - -@@ -907,6 +844,12 @@ cc_info_overview_panel_init (CcInfoOverviewPanel *self) - else - gtk_widget_destroy (priv->updates_button); - -+ priv->client = udisks_client_new_sync (NULL, &error); -+ -+ if (error != NULL) -+ g_warning ("Unable to get UDisks client: %s. Disk information will not be available.", -+ error->message); -+ - info_overview_panel_setup_overview (self); - info_overview_panel_setup_virt (self); - } -diff --git a/panels/info/meson.build b/panels/info/meson.build -index 03742551314f91b60e3ec1caad153ff314b93310..c54e5fdaff3c6ddb59cca8ee9a2bf5a0212bf196 100644 ---- a/panels/info/meson.build -+++ b/panels/info/meson.build -@@ -61,6 +61,7 @@ sources += gnome.compile_resources( - - deps = common_deps + [ - polkit_gobject_dep, -+ dependency('udisks2', version: '>= 2.1.8'), - dependency('libgtop-2.0') - ] - diff --git a/gnu/packages/patches/guile-finalization-crash.patch b/gnu/packages/patches/guile-finalization-crash.patch new file mode 100644 index 0000000000..098249e49f --- /dev/null +++ b/gnu/packages/patches/guile-finalization-crash.patch @@ -0,0 +1,61 @@ +commit edf5aea7ac852db2356ef36cba4a119eb0c81ea9 +Author: Ludovic Courtès <ludo@gnu.org> +Date: Mon Dec 9 14:44:59 2019 +0100 + + Fix non-deterministic crash in 'finalization_thread_proc'. + + Fixes <https://bugs.gnu.org/37757>. + Reported by Jesse Gibbons <jgibbons2357@gmail.com>. + + * libguile/finalizers.c (finalization_thread_proc): Do not enter the + "switch (data.byte)" condition when data.n <= 0. + +diff --git a/libguile/finalizers.c b/libguile/finalizers.c +index c5d69e8e3..94a6e6b0a 100644 +--- a/libguile/finalizers.c ++++ b/libguile/finalizers.c +@@ -1,4 +1,4 @@ +-/* Copyright (C) 2012, 2013, 2014 Free Software Foundation, Inc. ++/* Copyright (C) 2012, 2013, 2014, 2019 Free Software Foundation, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License +@@ -211,21 +211,26 @@ finalization_thread_proc (void *unused) + + scm_without_guile (read_finalization_pipe_data, &data); + +- if (data.n <= 0 && data.err != EINTR) ++ if (data.n <= 0) + { +- perror ("error in finalization thread"); +- return NULL; ++ if (data.err != EINTR) ++ { ++ perror ("error in finalization thread"); ++ return NULL; ++ } + } +- +- switch (data.byte) ++ else + { +- case 0: +- scm_run_finalizers (); +- break; +- case 1: +- return NULL; +- default: +- abort (); ++ switch (data.byte) ++ { ++ case 0: ++ scm_run_finalizers (); ++ break; ++ case 1: ++ return NULL; ++ default: ++ abort (); ++ } + } + } + } diff --git a/gnu/packages/patches/mes-remove-store-name.patch b/gnu/packages/patches/mes-remove-store-name.patch new file mode 100644 index 0000000000..ad055c51f2 --- /dev/null +++ b/gnu/packages/patches/mes-remove-store-name.patch @@ -0,0 +1,121 @@ +From d8f361705325cf91fc6c2ec84f281cdcd6bfa8b1 Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen <janneke@gnu.org> +Date: Tue, 3 Dec 2019 21:23:24 +0100 +Subject: [PATCH] core: Remove MES_PKGDATADIR. + +* configure: Do not add MES_PKGDATADIR to config.h. +* configure.sh: Likewise. +* simple.sh: Likewise. +* src/mes.c (open_boot): Do not use MES_PKGDATADIR; rely on +MES_PREFIX or cwd. +--- + configure | 1 - + configure.sh | 1 - + simple.sh | 2 -- + src/mes.c | 13 ------------- + 4 files changed, 17 deletions(-) + +diff --git a/configure b/configure +index 8edb2ce7b..12d8323f2 100755 +--- a/configure ++++ b/configure +@@ -666,7 +666,6 @@ See \"Porting GNU Mes\" in the manual, or try --with-courage\n" mes-system) + ")) + (display (string-append " + #define MES_VERSION \"" VERSION "\" +-#define MES_PKGDATADIR \"" pkgdatadir "\" + "))))) + (substitute (string-append srcdest "build-aux/config.make.in") pairs #:target ".config.make")) + +diff --git a/configure.sh b/configure.sh +index 947ddd851..0139cbc36 100755 +--- a/configure.sh ++++ b/configure.sh +@@ -244,7 +244,6 @@ EOF + fi + cat >> include/mes/config.h <<EOF + #define MES_VERSION "$VERSION" +-#define MES_PKGDATADIR "$pkgdatadir" + EOF + + cat <<EOF +diff --git a/simple.sh b/simple.sh +index db6950354..b54398a59 100755 +--- a/simple.sh ++++ b/simple.sh +@@ -33,7 +33,6 @@ mes_bits=64 + cat > include/mes/config.h <<EOF + #define SYSTEM_LIBC 1 + #define MES_VERSION "git" +-#define MES_PKGDATADIR "/usr/local/share/mes" + EOF + + ## Build ## +@@ -126,7 +125,6 @@ mes_cpu=x86_64 + cat > include/mes/config.h <<EOF + // #define SYSTEM_LIBC 0 + #define MES_VERSION "git" +-#define MES_PKGDATADIR "/usr/local/share/mes" + EOF + + ## Build ## +diff --git a/src/mes.c b/src/mes.c +index d9760fad6..a5e7f2b69 100644 +--- a/src/mes.c ++++ b/src/mes.c +@@ -1775,12 +1775,6 @@ open_boot () + char boot[1024]; + char file_name[1024]; + strcpy (g_datadir, "."); +- if (g_debug > 1) +- { +- eputs (";;; pkgdatadir="); +- eputs (MES_PKGDATADIR); +- eputs ("\n"); +- } + if (getenv ("MES_BOOT")) + strcpy (boot, getenv ("MES_BOOT")); + else +@@ -1801,13 +1795,6 @@ open_boot () + __stdin = try_open_boot (file_name, boot, "MES_PREFIX/share/mes"); + } + } +- if (__stdin < 0) +- { +- strcpy (g_datadir, MES_PKGDATADIR); +- strcpy (file_name, g_datadir); +- strcpy (file_name + strlen (file_name), "/module/mes/"); +- __stdin = try_open_boot (file_name, boot, "pkgdatadir"); +- } + if (__stdin < 0) + { + g_datadir[0] = 0; +-- +2.24.0 + +commit 2f6fab05b3f09df02aba70c3e21d5fedb45dc567 +Author: Jan Nieuwenhuizen <janneke@gnu.org> +Date: Sun Nov 24 23:12:29 2019 +0100 + + core: Throw instead of segfault on non-existing input file. WIP. + + Reported by theruran. + + * src/posix.c (open_input_file): Call error instead of failing silently. + +diff --git a/src/posix.c b/src/posix.c +index 7ba2e9915..fd753232d 100644 +--- a/src/posix.c ++++ b/src/posix.c +@@ -188,7 +188,10 @@ current_input_port () + SCM + open_input_file (SCM file_name) + { +- return MAKE_NUMBER (mes_open (CSTRING (file_name), O_RDONLY, 0)); ++ int filedes = mes_open (CSTRING (file_name), O_RDONLY, 0); ++ if (filedes == -1) ++ error (cell_symbol_system_error, cons (MAKE_STRING0 ("No such file or directory"), file_name)); ++ return MAKE_NUMBER (filedes); + } + + SCM diff --git a/gnu/packages/patches/ncompress-fix-softlinks.patch b/gnu/packages/patches/ncompress-fix-softlinks.patch new file mode 100644 index 0000000000..98752e8e64 --- /dev/null +++ b/gnu/packages/patches/ncompress-fix-softlinks.patch @@ -0,0 +1,24 @@ +Patch taken from Debian sid. + +Description: Support uncompressing and compressing soft links. + Historically, ncompress for Debian has been built using a command line + directly in debian/rules. For 4.2.4.5-1, I simplified by swtching to the + upstream Makefile. However, that caused a regression - the Debian version of + ncompress has always successfully handled soft links, but this stopped + working. To revert to the original behavior, I need to remove -DLSTAT from + the build options, to be consistent with how the code was previously built. +Author: Kenneth J. Pronovici <pronovic@debian.org> +Bug-Debian: http://bugs.debian.org/918836 +Index: ncompress/GNUmakefile +=================================================================== +--- ncompress.orig/GNUmakefile ++++ ncompress/GNUmakefile +@@ -9,7 +9,7 @@ distclean: cleanup + + Makefile: Makefile.def GNUmakefile + sed \ +- -e 's:options= :options= $$(CFLAGS) -DNOFUNCDEF -DUTIME_H -DLSTAT $$(LDFLAGS) :' \ ++ -e 's:options= :options= $$(CFLAGS) -DNOFUNCDEF -DUTIME_H $$(LDFLAGS) :' \ + Makefile.def > Makefile + + check: diff --git a/gnu/packages/patches/nss-CVE-2019-11745.patch b/gnu/packages/patches/nss-CVE-2019-11745.patch new file mode 100644 index 0000000000..ae0eeda3c8 --- /dev/null +++ b/gnu/packages/patches/nss-CVE-2019-11745.patch @@ -0,0 +1,24 @@ +Fix CVE-2019-11745 (Out-of-bounds write when passing an output buffer smaller +than the block size to NSC_EncryptUpdate). + +Copied from Debian, equivalent to upstream fix: +<https://hg.mozilla.org/projects/nss/rev/1e22a0c93afe9f46545560c86caedef9dab6cfda>. + +# HG changeset patch +# User Craig Disselkoen <cdisselk@cs.ucsd.edu> +# Date 1574189697 25200 +# Node ID 60bca7c6dc6dc44579b9b3e0fb62ca3b82d92eec +# Parent 64e55c9f658e2a75f0835d00a8a1cdc2f25c74d6 +Bug 1586176 - EncryptUpdate should use maxout not block size. r=franziskus + +--- a/nss/lib/softoken/pkcs11c.c ++++ b/nss/lib/softoken/pkcs11c.c +@@ -1285,7 +1285,7 @@ NSC_EncryptUpdate(CK_SESSION_HANDLE hSes + } + /* encrypt the current padded data */ + rv = (*context->update)(context->cipherInfo, pEncryptedPart, +- &padoutlen, context->blockSize, context->padBuf, ++ &padoutlen, maxout, context->padBuf, + context->blockSize); + if (rv != SECSuccess) { + return sftk_MapCryptError(PORT_GetError()); diff --git a/gnu/packages/patches/python-pyatspi-python-37.patch b/gnu/packages/patches/python-pyatspi-python-37.patch deleted file mode 100644 index caa6aea39e..0000000000 --- a/gnu/packages/patches/python-pyatspi-python-37.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 29a7b929f7f1160b643dc5f5911533887173fcff Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz> -Date: Thu, 28 Jun 2018 17:10:33 +0200 -Subject: [PATCH] Rename async to asynchronous, keep backwards comaptibility - -async is a keyword in Python 3.7 and keeping it results in SyntaxError. - -Fixes https://gitlab.gnome.org/GNOME/pyatspi2/issues/1 ---- - pyatspi/registry.py | 35 +++++++++++++++++++++++++++-------- - 1 file changed, 27 insertions(+), 8 deletions(-) - -diff --git a/pyatspi/registry.py b/pyatspi/registry.py -index cb28395..f73ee16 100644 ---- a/pyatspi/registry.py -+++ b/pyatspi/registry.py -@@ -50,9 +50,9 @@ class Registry(object): - reference to the Accessibility.Registry singleton. Doing so is harmless and - has no point. - -- @@ivar async: Should event dispatch to local listeners be decoupled from event -- receiving from the registry? -- @@type async: boolean -+ @@ivar asynchronous: Should event dispatch to local listeners be decoupled -+ from event receiving from the registry? -+ @@type asynchronous: boolean - @@ivar reg: Reference to the real, wrapped registry object - @@type reg: Accessibility.Registry - @@ivar dev: Reference to the device controller -@@ -111,25 +111,44 @@ class Registry(object): - - self.has_implementations = True - -- self.async = False # not fully supported yet -+ self.asynchronous = False # not fully supported yet - self.started = False - self.event_listeners = dict() - -+ def __getattr__(self, name): -+ """ -+ For backwards compatibility with old API -+ """ -+ if name == 'async': -+ return self.asynchronous -+ return object.__getattr__(self, name) -+ -+ def __setattr__(self, name, value): -+ """ -+ For backwards compatibility with old API -+ """ -+ if name == 'async': -+ self.asynchronous = value -+ object.__setattr__(self, name, value) -+ - def _set_default_registry (self): - self._set_registry (MAIN_LOOP_GLIB) - -- def start(self, async=False, gil=True): -+ def start(self, asynchronous=False, gil=True, **kwargs): - """ - Enter the main loop to start receiving and dispatching events. - -- @@param async: Should event dispatch be asynchronous (decoupled) from -- event receiving from the AT-SPI registry? -- @@type async: boolean -+ @@param asynchronous: Should event dispatch be asynchronous -+ (decoupled) from event receiving from the AT-SPI registry? -+ @@type asynchronous: boolean - @@param gil: Add an idle callback which releases the Python GIL for a few - milliseconds to allow other threads to run? Necessary if other threads - will be used in this process. - @@type gil: boolean - """ -+ if 'async' in kwargs: -+ # support previous API -+ asynchronous = kwargs['async'] - if not self.has_implementations: - self._set_default_registry () - self.started = True --- -2.22.0 - diff --git a/gnu/packages/patches/ruby-safe-yaml-add-require-time.patch b/gnu/packages/patches/ruby-safe-yaml-add-require-time.patch deleted file mode 100644 index 92e5505985..0000000000 --- a/gnu/packages/patches/ruby-safe-yaml-add-require-time.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 9dd1e8d9ad0396a8c9092c2e9f17d498c58e0208 Mon Sep 17 00:00:00 2001 -From: elifoster <elifosterwy@gmail.com> -Date: Tue, 5 Dec 2017 14:30:13 -0800 -Subject: [PATCH] Fix uninitialized constant DateTime Close #80 - ---- - lib/safe_yaml/parse/date.rb | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/lib/safe_yaml/parse/date.rb b/lib/safe_yaml/parse/date.rb -index cd3c62a..3a30a8b 100644 ---- a/lib/safe_yaml/parse/date.rb -+++ b/lib/safe_yaml/parse/date.rb -@@ -1,3 +1,5 @@ -+require 'time' -+ - module SafeYAML - class Parse - class Date diff --git a/gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch b/gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch deleted file mode 100644 index f8dac61307..0000000000 --- a/gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch +++ /dev/null @@ -1,45 +0,0 @@ -From a13db62a4da06426cf2eb2376d1a3723b5ee52d5 Mon Sep 17 00:00:00 2001 -From: Vasily Postnicov <shamaz.mazum@gmail.com> -Date: Fri, 14 Dec 2018 20:01:53 +0300 -Subject: [PATCH] READ-ONE-LINE: Turn COMPLETIONS into a keyword argument - -This keeps READ-ONE-line backwards compatible to changes prior -dae0422811771d179077b9336618f2b19be85b7b. Currently both -ARGUMENT-POP-OR-READ and ARGUMENT-POP-REST-OR-READ are still being -called with the previous lambda list. Update the calls to the -READ-ONE-LINE that used the 'new' lambda list, COMPLETING-READ and -YES-OR-NO-P. - -Closes #538 ---- - input.lisp | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/input.lisp b/input.lisp -index b698a368..7904b35f 100644 ---- a/input.lisp -+++ b/input.lisp -@@ -307,10 +307,13 @@ passed the substring to complete on and is expected to return a list - of matches. If require-match argument is non-nil then the input must - match with an element of the completions." - (check-type completions (or list function symbol)) -- (let ((line (read-one-line screen prompt completions :initial-input initial-input :require-match require-match))) -+ (let ((line (read-one-line screen prompt -+ :completions completions -+ :initial-input initial-input -+ :require-match require-match))) - (when line (string-trim " " line)))) - --(defun read-one-line (screen prompt completions &key (initial-input "") require-match password) -+(defun read-one-line (screen prompt &key completions (initial-input "") require-match password) - "Read a line of input through stumpwm and return it. Returns nil if the user aborted." - (let ((*input-last-command* nil) - (*input-completions* completions) -@@ -842,6 +845,7 @@ user presses 'y'" - user presses 'yes'" - (loop for line = (read-one-line (current-screen) - (format nil "~a(yes or no) " message) -+ :completions - '("yes" "no")) - until (find line '("yes" "no") :test 'string-equal) - do (message "Please answer yes or no") diff --git a/gnu/packages/patches/totem-meson-compat.patch b/gnu/packages/patches/totem-meson-compat.patch deleted file mode 100644 index 8557908dd0..0000000000 --- a/gnu/packages/patches/totem-meson-compat.patch +++ /dev/null @@ -1,14 +0,0 @@ -Fix an error that occurs with Meson 0.50.0 and later: -"ERROR: Subdir keyword must not be an absolute path". - ---- a/src/meson.build 2019-03-15 00:10:26.882293850 +0100 -+++ b/src/meson.build 2019-03-15 00:10:54.312197229 +0100 -@@ -82,7 +82,7 @@ - - install_headers( - headers, -- subdir: join_paths(totem_includedir, totem_api_path) -+ install_dir: join_paths(totem_includedir, totem_api_path) - ) - - libtotem_player_sources = files( diff --git a/gnu/packages/patches/totem-meson-easy-codec.patch b/gnu/packages/patches/totem-meson-easy-codec.patch deleted file mode 100644 index b97d555c1a..0000000000 --- a/gnu/packages/patches/totem-meson-easy-codec.patch +++ /dev/null @@ -1,65 +0,0 @@ -Fix a bug whereby the 'have_easy_codec' would be left undefined -when passing '-D enable-easy-codec-installation=no'. Likewise, -don't rely on GStreamer's plug-in support when it's disabled. - ---- totem-3.26.0/meson.build 2017-10-11 22:29:44.506280919 +0200 -+++ totem-3.26.0/meson.build 2017-10-11 22:29:50.902252058 +0200 -@@ -203,6 +203,8 @@ if easy_codec_option != 'no' - missing_plugins_deps += gst_pbutils_dep - config_h.set('ENABLE_MISSING_PLUGIN_INSTALLATION', have_easy_codec, - description: 'Whether we can and want to do installation of missing plugins') -+else -+ have_easy_codec = false - endif - - # python support - ---- totem-3.26.0/src/backend/bacon-video-widget.c 2017-10-11 22:40:52.531217356 +0200 -+++ totem-3.26.0/src/backend/bacon-video-widget.c 2017-10-11 22:45:44.973847231 +0200 -@@ -341,6 +341,22 @@ get_type_name (GType class_type, int typ - return value->value_nick; - } - -+#ifndef ENABLE_MISSING_PLUGIN_INSTALLATION -+ -+gchar * -+gst_missing_plugin_message_get_installer_detail (GstMessage *message) -+{ -+ return NULL; -+} -+ -+char * -+gst_missing_plugin_message_get_description (GstMessage *message) -+{ -+ return NULL; -+} -+ -+#endif -+ - static gchar ** - bvw_get_missing_plugins_foo (const GList * missing_plugins, MsgToStrFunc func) - { -@@ -1654,10 +1670,12 @@ bvw_handle_element_message (BaconVideoWi - } - } - goto done; -+#ifdef ENABLE_MISSING_PLUGIN_INSTALLATION - } else if (gst_is_missing_plugin_message (msg)) { - bvw->priv->missing_plugins = - g_list_prepend (bvw->priv->missing_plugins, gst_message_ref (msg)); - goto done; -+#endif - } else if (strcmp (type_name, "not-mounted") == 0) { - const GValue *val; - GFile *file; -@@ -6109,7 +6127,9 @@ bacon_video_widget_initable_init (GInita - GST_DEBUG ("Initialised %s", version_str); - g_free (version_str); - -+#ifdef ENABLE_MISSING_PLUGIN_INSTALLATION - gst_pb_utils_init (); -+#endif - - /* Instantiate all the fallible plugins */ - bvw->priv->play = element_make_or_warn ("playbin", "play"); - diff --git a/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch b/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch new file mode 100644 index 0000000000..ece414a1cb --- /dev/null +++ b/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch @@ -0,0 +1,103 @@ +This patch for Boost >= 1.70 was made by merging two patches that +are in the 'develop' branch (c769c92 and f810ca2). + +diff -u b/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp +--- b/websocketpp/transport/asio/connection.hpp ++++ b/websocketpp/transport/asio/connection.hpp +@@ -311,9 +311,10 @@ + * needed. + */ + timer_ptr set_timer(long duration, timer_handler callback) { +- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>( +- lib::ref(*m_io_service), +- lib::asio::milliseconds(duration) ++ timer_ptr new_timer( ++ new lib::asio::steady_timer( ++ *m_io_service, ++ lib::asio::milliseconds(duration)) + ); + + if (config::enable_multithreading) { +@@ -461,8 +462,7 @@ + m_io_service = io_service; + + if (config::enable_multithreading) { +- m_strand = lib::make_shared<lib::asio::io_service::strand>( +- lib::ref(*io_service)); ++ m_strand.reset(new lib::asio::io_service::strand(*io_service)); + } + + lib::error_code ec = socket_con_type::init_asio(io_service, m_strand, +diff -u b/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp +--- b/websocketpp/transport/asio/endpoint.hpp ++++ b/websocketpp/transport/asio/endpoint.hpp +@@ -195,8 +195,7 @@ + + m_io_service = ptr; + m_external_io_service = true; +- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>( +- lib::ref(*m_io_service)); ++ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service)); + + m_state = READY; + ec = lib::error_code(); +@@ -688,9 +687,7 @@ + * @since 0.3.0 + */ + void start_perpetual() { +- m_work = lib::make_shared<lib::asio::io_service::work>( +- lib::ref(*m_io_service) +- ); ++ m_work.reset(new lib::asio::io_service::work(*m_io_service)); + } + + /// Clears the endpoint's perpetual flag, allowing it to exit when empty +@@ -854,8 +851,7 @@ + + // Create a resolver + if (!m_resolver) { +- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>( +- lib::ref(*m_io_service)); ++ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service)); + } + + tcon->set_uri(u); +unchanged: +--- a/websocketpp/transport/asio/security/none.hpp ++++ b/websocketpp/transport/asio/security/none.hpp +@@ -168,8 +168,7 @@ protected: + return socket::make_error_code(socket::error::invalid_state); + } + +- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>( +- lib::ref(*service)); ++ m_socket.reset(new lib::asio::ip::tcp::socket(*service)); + + if (m_socket_init_handler) { + m_socket_init_handler(m_hdl, *m_socket); +unchanged: +--- a/websocketpp/transport/asio/security/tls.hpp ++++ b/websocketpp/transport/asio/security/tls.hpp +@@ -193,8 +193,7 @@ protected: + if (!m_context) { + return socket::make_error_code(socket::error::invalid_tls_context); + } +- m_socket = lib::make_shared<socket_type>( +- _WEBSOCKETPP_REF(*service),lib::ref(*m_context)); ++ m_socket.reset(new socket_type(*service, *m_context)); + + if (m_socket_init_handler) { + m_socket_init_handler(m_hdl, get_socket()); +only in patch2: +unchanged: +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -202,7 +202,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES) + endif () + + if (NOT Boost_USE_STATIC_LIBS) +- add_definitions (/DBOOST_TEST_DYN_LINK) ++ add_definitions (-DBOOST_TEST_DYN_LINK) + endif () + + set (Boost_FIND_REQUIRED TRUE) |